数据库优化是一个系统工程,绝非“加个索引”那么简单。它遵循一个经典的金字塔模型,自底向上投入产出比逐渐降低。核心原则:从高处着手,用最小成本换取最大收益。一条糟糕的SQL,即使运行在百万元级硬件上,依然会很慢。第一层:SQL与索引优化(核心中的核心)这是性价比最高的优化手段,解决了80%以上的性能问题。1. 定位问题SQL开启慢查询日志:设置long_query_time,记录所有执行时间超过阈值的SQL。使用EXPLAIN分析执行计划:这是最重要的命令。重点关注以下字段:type:访问类型,性能从好到差依次为:systemconsteq_refrefrangeindexALL(全表扫描)possible_keys:可能用到的索引。key:实际用到的索引。如果为NULL,说明没走索引。rows:预估需要扫描的行数。越少越好。Extra:关键信息。出现Using filesort(文件排序)或Using temporary(使用临时表)通常是性能瓶颈的信号。2. 索引优化策略最左前缀原则:联合索引(a, b, c)能支持a、a,b、a,b,c的查询,但不支持b或c单独查询。覆盖索引:索引中已经包含了所有需要查询的字段,无需回表。使用EXPLAIN的