MySQL 提供了多种工具和方法来查看和分析 SQL 查询的性能。这些工具可以帮助开发人员识别慢查询、优化查询计划,并提高数据库的整体性能。
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2; -- 设置慢查询阈值,单位为秒
tail -f /var/log/mysql/slow-query.log
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES', TIMED = 'YES';
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES';
SELECT * FROM performance_schema.events_statements_summary_by_digest;
EXPLAIN SELECT * FROM users WHERE age > 30;
问题:查询执行时间过长。
原因:可能是由于索引缺失、查询语句复杂、数据量过大等原因。
解决方法:
假设我们有一个 users
表,并且我们想要优化一个查询:
EXPLAIN SELECT * FROM users WHERE age > 30;
如果发现 MySQL 没有使用索引,我们可以添加一个索引:
CREATE INDEX idx_age ON users(age);
然后再使用 EXPLAIN
命令查看优化后的查询计划。
通过这些方法和工具,你可以有效地监控和优化 MySQL 中的 SQL 查询性能。
领取专属 10元无门槛券
手把手带您无忧上云