MySQL优化(四) 慢查询的定位及优化

一、SQL语句优化的一般步骤:

(1)通过 show status 命令了解各种 SQL 的执行效率;

(2)定位执行效率较低的 SQL 语句(重点是 Select);

(3)通过 explain 分析低效率的 SQL 语句的执行情况;

(4)确实问题并采取相应的优化措施;

二、

1、show status 命令

 格式: show [session | global] status like ... 

   如果不写[session | global],默认的是session,即取出当前回话的执行情况;

 如果想查询所有的(即MySql启动到现在的信息), 则增加 global 参数;

show status like "uptime"  //查询MySql启动的时间;
show status like "com_select" //查询MySql的查询次数
show status like "com_insert" //查询MySql的插入次数
show status like "com_update" //查询MySql的更新次数
show status like "com_delete" //查询MySql的删除次数 
show global status like "uptime"  //查询MySql启动的时间;
show global status like "com_select" //查询MySql的查询次数
show global status like "com_insert" //查询MySql的插入次数
show global status like "com_update" //查询MySql的更新次数
show global status like "com_delete" //查询MySql的删除次数 
show global status like "connections" //查询MySQL的连接数
show global status like "slow_queries" //获取慢查询的次数

 

2、如何定位慢查询?

默认情况下,MySql认为超过 10 秒才是一个慢查询;

显示当前慢查询设置的时间:show variables like "long_query_time" ;

修改慢查询的设置时间为1秒:set long_query_time=1

猜你喜欢

转载自www.cnblogs.com/yufeng218/p/10029862.html