白狗子的博客

「天上浮云如白衣,斯须改变如苍狗。」——杜甫

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 等缓存;注意一致性与穿透/击穿/雪崩。

© 2025 My Blog. Built with Nuxt.js v4