mysql 优化查询
show full processlist ;
关注下state 一般为query ,不排除有update 和delete 。 time 是查询时间 ,之后info 哪里会出现sql语句。
之后可以反复执行下这个sql语句看看是否因为业务代码中的锁产生的,排除偶然因素。之后就可以explain sql 看看
explain select * from jiaofu7_cms_ic.cms_activity;
基本确认这个sql性能上是有问题的,或者说不太合格的sql。
- 确认type=ALL
- key 是否使用索引
- rows 影响的行数
一般情况下可以进行增加索引,但是alter table 表 add index(列)是阻塞操作的,对表的添加更新都进行阻塞操作了,这个时候要小心!
如果再次执行 explain sql
- type =ref
- key 和key-len 都有值
- ref =const row=1
show create table 表
show table status like ‘表’
show full processlist ;
关注下state 一般为query ,不排除有update 和delete 。 time 是查询时间 ,之后info 哪里会出现sql语句。
之后可以反复执行下这个sql语句看看是否因为业务代码中的锁产生的,排除偶然因素。之后就可以explain sql 看看
explain select * from cms_activity;
基本确认这个sql性能上是有问题的,或者说不太合格的sql。
1.确认type=ALL
2 key 是否使用索引
3 rows 影响的行数
一般情况下可以进行增加索引,但是alter table 表 add index(列)是阻塞操作的,对表的添加更新都进行阻塞操作了,这个时候要小心!
show create table cms_activity;
show table status like ‘cms_activity’ ;
本文欢迎转载,但是希望注明出处并给出原文链接。
如果你有任何疑问,欢迎在下方评论区留言,我会尽快答复。
如果你喜欢或者不喜欢这篇文章,欢迎你发邮件到 alonecong@126.com 告诉我你的想法,你的建议对我非常重要。
本文作者: lancecong
联系方式: alonecong@126.com
版权声明: 除特别声明外,所有文章均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!