MySQL性能优化的6个习惯,写SQL的时候就该注意
时间:2025-12-15 22:59:07 阅读:270
性能优化不是上线后的事,写 SQL 的时候就能做。
1. 查多少用多少,别 select *
select * 会拉取所有字段,浪费 IO 和内存。只需要两个字段就只写两个,MySQL 走覆盖索引时连回表都省了。2. JOIN 表不要超过3张
超过3张表的 JOIN,MySQL 优化器容易选错执行计划,走嵌套循环扫描会慢到怀疑人生。解决方案:拆成多次查询在应用层做关联,或者用临时表缓存中间结果。3. 分页大数据量别用 offset
offset 1000000 会让 MySQL 扫描前面的100万行再丢掉,越往后越慢。改用游标分页(where id > 上次最大值)或子查询延迟关联,效率差几十倍。4. 索引不是越多越好
每加一个索引,写入就多维护一个 B+ 树。联合索引要注意最左前缀原则,能用一个索引查完的就别建两个。5. 大字段别放主表
text/blob 字段单独拆到关联表,主查询不读它们,扫描速度会快很多。6. 关注慢查询日志
MySQL 慢查询日志能告诉你哪些 SQL 是真正的性能杀手,不要靠猜优化。



提供云计算服务