SQL 性能优化的核心是明确你的调整目标。系统跑得快不快,靠的就是这些细节的打磨。你可以从建立专门的性能指标入手,比如响应时间、执行计划、索引命中率等等。这样一来,什么时候该下手调优、往哪儿调心里就有底了。
SQL 的性能优化不是拍脑袋搞的,得有目标、有数据支撑。比如说,慢查询日志经常提示某个 SELECT
语句慢,那你就要看看是不是 索引用得不对,或者 表结构设计拖了后腿。
我自己用得比较多的是 Oracle 和 MySQL,老系统多就是靠它们撑着。MySQL 的话,像 关键步骤优化 这篇文章里说的几个点,比如连接查询、LIMIT 分页,调好了效果蛮。
Oracle 的优化就更讲究点,这篇最佳实践讲得还挺细,从 执行计划 到 内存参数调整,都讲到了。你要是不熟,也可以先从 不同调整方式对性能的影响 这类资料下手,比较直观。
再说索引,这玩意儿一用错,整个查询都跟不上节奏。建议你看看 精准索引调整 这篇,讲得接地气。像 覆盖索引
、联合索引
怎么配合使用,里面都有例子。
如果你对 MySQL 感兴趣,也推荐你看下 这篇性能文章,里面提到的 慢查询日志 和 查询缓存 的优化思路我觉得还不错。
,优化 SQL 别急着一刀切,得先定好目标,结合你的业务慢慢调。如果你系统响应越来越慢,不妨从这些文章里挑几篇看看,说不定就找到突破口了。