3.1 优化sql语句的一般步骤
3.1.1 通过show status命令了解各种SQL的执行效率
格式:mysql>show [session|global]status;
其中:session(默认)表示当前连接,
global表示自数据库启动至今
mysql>show status;
mysql>show global stauts;
mysql>show status like "Com_insert%"
mysql>show global status like "Com_select%";
参数说明
Com_XXX 表示每个XXX语句执行的次数如:
Com_select 执行select操作的次数,一次查询只累加一次
Com_update 执行update的次数
Com_insert 执行insert的次数,对批量插入只算一次
Com_delete 执行delete的次数
只针对InnoDB存储引擎的
InnoDB_row_read
InnoDB_row_updated
InnoDB_row_inserted
InnoDB_row_deleted
其他:
connnections 连接mysql的数量
Uptime 服务器已经工作的秒数
Slow_queries 慢查询的次数
mysql>show status like "%slow%";//查看慢查询日志是否开启
mysql>show status like "%long%";//查看设置多长时间记录慢查询
3.1.2定位执行效率较低的sql语句
1、explain selecr * from table where id = 1000 (\G);
2、desc select * from table where id = 1000;
优化步骤:
1、查找慢查询
2、定位慢查询语句
3、添加索引测试