引言
性能分析是数据库优化的第一步。本文介绍MySQL的性能分析工具。
一、慢查询日志
1 2 3 4 5 6 7 8 9
| SET GLOBAL slow_query_log = ON; SET GLOBAL long_query_time = 2;
SHOW VARIABLES LIKE 'slow_query%';
mysqldumpslow -s t -t 10 /var/log/mysql/slow.log
|
二、EXPLAIN分析
1 2 3 4 5 6 7
| EXPLAIN SELECT * FROM users WHERE age > 25;
|
1 2 3 4 5 6 7
| UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES';
SELECT * FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;
|
四、Profile分析
1 2 3 4 5 6 7 8 9
| SET profiling = 1;
SELECT * FROM users;
SHOW PROFILES; SHOW PROFILE FOR QUERY 1;
|
总结
MySQL性能分析工具:
- 慢查询日志:找出慢SQL
- EXPLAIN:分析执行计划
- Performance Schema:详细监控
- Profile:查看SQL耗时
参考资料