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 是真正的性能杀手,不要靠猜优化。

上一篇:从HTTP/1.1到HTTP/3,一次说清楚这些年的变化

下一篇:API接口设计最容易忽略的5个细节