数据库慢查询治理(Profiling、索引建议、执行计划缓存)概述慢查询常由缺索引、统计信息陈旧或不合理写法导致。本文给出分析路径与优化策略。关键实践与参数MySQL:开启 `slow_query_log` 与合理 `long_query_time`(如 1s);`EXPLAIN`/`ANALYZE` 分析访问类型与扫描行数。PostgreSQL:启用 `pg_stat_statements`;通过 `EXPLAIN (ANALYZE, BUFFERS)` 观测 I/O 与节点耗时。计划缓存:避免参数嗅探问题;必要时使用绑定变量与 `recompile` 谨慎处理。验证方法对比优化前后延迟与扫描行数;记录索引命中与回表次数。统计慢查询 TopN 与趋势;定期回归。更新统计信息与重建索引后验证计划稳定性。注意事项过度索引影响写入与存储;评估收益与成本。事务与锁等待也会造成慢;观察锁表与等待事件。在生产执行 `ANALYZE` 需评估开销与时机。

发表评论 取消回复