数据库-数据库事务和优化-优化的常用规则
面5笔5如何定位低效 SQL?
可以通过两种方式来定位执行效率较低的 SQL 语句。
一种是通过慢查询日志定位,可以通过慢查询日志定位那些已经执行完毕的 SQL 语句。
另一种是使用 SHOW PROCESSLIST 查询,慢查询日志在查询结束以后才记录,所以在应用反应执行效率出现问题的时候查询慢查询日志不能定位问题,此时可以使用 SHOW PROCESSLIST 命令查看当前 MySQL 正在进行的线程,包括线程的状态、是否锁表等,可以实时查看 SQL 的执行情况,同时对一些锁表操作进行优化。
找到执行效率低的 SQL 语句后,就可以通过 SHOW PROFILE、EXPLAIN 或 trace 等丰富来继续优化语句。