https://blog.csdn.net/qq_37574218
https://blog.csdn.net/weixin_43306831/article/details/94662872#1__10
- 使用profiling
- 检查问题常用工具:
- 不常用但好用的工具:
一般应急调优的思路:
针对突然的业务办理卡顿,无法进行正常的业务处理!需要立马解决的场景!
1、show processlist ##获取当前所有连接session状态 2、explain select id ,name from stu where name='clsn'; # ALL id name age sex select id,name from stu where id=2-1 函数 结果集>30; show index from table; 3、通过执行计划判断,索引问题(有没有、合不合理)或者语句本身问题 4、show status like '%lock%'; # 查询锁状态 kill SESSION_ID; # 杀掉有问题的session
常规调优思路:
- 针对业务周期性的卡顿,例如在每天 10-11 点业务特别慢,但是还能够使用,过了这段时间就好了。
1、查看 slowlog,分析 slowlog,分析出查询慢的语句。 2、按照一定优先级,进行一个一个的排查所有慢语句。 3、分析 top sql,进行 explain 调试,查看语句执行时间。 4、调整索引或语句本身。
- 针对业务周期性的卡顿,例如在每天 10-11 点业务特别慢,但是还能够使用,过了这段时间就好了。
慢查询日志 mysqldumpslow