
SQL 优化从真实查询开始先读执行计划再改写SQL 调优别从背口诀开始。先选一条确实慢、调用频率明确的查询保留参数和执行计划再判断时间花在扫描、连接还是排序。执行计划要结合实际参数估算行数与实际行数差很大时先检查统计信息和数据倾斜扫描行数异常再看过滤条件能否下推。只看 cost 值很容易把优化方向带偏。改写时守住结果语义拆子查询、调整 join 顺序或增加索引前先用固定数据比较结果集。NULL、重复键和时间边界是最容易被“优化掉”的细节。记录数据库版本、参数与冷热缓存状态。索引收益要连同写入成本评估。分页查询检查排序键是否稳定。一次只验证一个假设如果认为瓶颈在排序就先改变排序或索引如果怀疑数据倾斜就按 key 分布取样。多项改动一起上最后很难解释是哪一项起作用。好的 SQL 优化报告应该能回答三件事原计划为什么慢、改动守住了什么语义、在什么条件下测得改善。