MySQL-查询优化
2026年10月16日·Admin·2 次浏览
MySQL 如何优化查询速度
1. 索引
- 为 WHERE / JOIN / ORDER BY 高频列设计合适索引;注意联合索引顺序与最左前缀。
- 能用 覆盖索引 减少回表;避免低选择性列单独建索引(如仅性别)。
2. SQL 与执行计划
EXPLAIN / ANALYZE看是否全表扫描、是否正确走索引。- 避免
SELECT *(宽表时浪费 I/O)。 - 慎用
OR、对索引列函数/隐式类型转换、前导模糊LIKE '%x'。 - 大 IN 列表考虑临时表或改写;子查询视情况改 JOIN。
3. 表与架构
- 分页深翻页用游标/上次最大 id 优于大
OFFSET。 - 数据量极大时 分区、分库分表、读写分离(架构层)。
4. 参数与硬件
- 缓冲池
innodb_buffer_pool_size、日志、连接数等按机器与业务调优。 - SSD、足够内存对 I/O 敏感型查询帮助大。
5. 缓存层
- 热点读用 Redis 等缓存;注意一致性与穿透/击穿/雪崩。