SQL语句优化分析

使用explain,profiling 来进行sql语句的分析

在sql执行的时候,如何查看mysql的io操作

show status like “innodb_data_r%” //代表数据的读取

show status like “innodb_data_w%” //代表数据的写入

show status like “innodb_log_wr%” //代表日志写入磁盘

show status like “innodb_dblwr_wr%” //代表日志写入缓存

io次数计算
innodb_data_reads + innodb_data_writs + innodb_log_writes + innodb_dblwr_writs = io次数

查询数据表的情况

show create table_name

查询表索引的使用情况

show indexs from table_name

查询标的状态

show table statsu like "table_name"

desc table_name

定位查看sql执行

show full processlist

下面来一条测试sql

 上面就是对sql的分析,可以根据结果做出相应的优化

上图中如果出现 Using temporary ;Using filesort代表sql语句查询未使用索引,全表扫描,查询中使用了临时表,代表sql该优化了

原文地址:https://www.cnblogs.com/bkhdd/p/15267831.html