mysql中如何查看执行计划
创始人
2024-12-21 03:41:43
0次

查看mysql的执行计划
 
这条SQL执行4分钟,message_message有数据1000w,学写了下mysql的执行计划。
 
 select * from message_message where id in(select message_id
from message_message_tags where messagetag_id=59885) and (category=9 or category=1)
order by  sum(like_count,favorite_count) desc limit 15;  www.2cto.com  
 
     在开发的过程中随着数据量的增大而感受到的性能比较差从而延伸到响应速度慢,
如果是开发人员很多时候估计是处于一种茫然状态,或者直接交给DBA去处理这问题,如果有DBA您很幸运,
但是如果没有DBA的前提下我们怎么去处理这问题,可能唯一的方法就是看执行计划
(也可以直接用explain SQL来分析...):
默认情况下Mysql的profiling是关闭的,所以首先必须打开profiling
 
Sql代码  
set profiling="ON"  
> show variables like "%profi%";  
+------------------------+-------+  
| Variable_name          | Value |  
+------------------------+-------+  
| profiling              | ON    |  
    www.2cto.com  
show processlist;   查看现在在运行的所有进程列表,在进程列表中我们唯一需要的是ID  
mysql> show processlist;  
+----+------+----------------+-----------+---------+------+-------+-------------  
-----+  
| Id | User | Host           | db        | Command | Time | State | Info  
     |  
+----+------+----------------+-----------+---------+------+-------+-------------  
-----+  
|  3 | root | localhost:2196 | click_log | Query   |    0 | NULL  | show process  
list |  
+----+------+----------------+-----------+---------+------+-------+-------------  
mysql> show profile cpu,memory for query 3;  
+--------------------+------------+----------+------------+  
| Status             | Duration   | CPU_user | CPU_system |  
+--------------------+------------+----------+------------+  
| freeing items      | 0.00001375 |     NULL |       NULL |  
| logging slow query | 0.00001375 |     NULL |       NULL |  
| cleaning up        | 0.00000050 |     NULL |       NULL |  
+--------------------+------------+----------+------------+  
  
SHOW PROFILES Syntax:  
SHOW PROFILE [type [, type] ... ]  
    [FOR QUERY n]   www.2cto.com   
    [LIMIT row_count [OFFSET offset]]  
type:  
    ALL  
  | BLOCK IO  
  | CONTEXT SWITCHES  
  | CPU  
  | IPC  
  | MEMORY  
  | PAGE FAULTS  
  | SOURCE  
  | SWAPS  

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...