SQL执行计划

sql

EXPLAIN FORMAT=JSON SELECT ...;   -- 机器可读的 JSON 格式

sql 显示预估的执行计划。

EXPLAIN SELECT * FROM user WHERE age > 18;

实际执行并返回每个节点的真实行数、时间、缓冲区命中情况。

sql

EXPLAIN (ANALYZE, BUFFERS, TIMING) SELECT ...;

二、分析执行计划的关键点

1. 访问类型(type)—— MySQL 重点关注

  • system / const:理想情况,最多匹配一行,如按主键查询。
  • eq_ref:使用唯一索引进行关联。
  • ref:使用非唯一索引查找。
  • range:使用索引进行范围扫描(>、<、BETWEEN、IN 等)。
  • index:全索引扫描,比全表好,但仍需遍历所有索引项。
  • ALL:全表扫描,通常是大问题,说明缺少有效索引。

2. 实际执行 vs 预估行数(rows / actual rows)

  • rows(MySQL)或 预估行数(PG):优化器估算需要扫描的行数。
  • 如果 实际行数远大于预估行数,说明统计信息过时,需执行 ANALYZE TABLE(MySQL)或 ANALYZE(PG)。

3. 额外信息(Extra)—— MySQL 常见警告

  • Using filesort:需要额外的排序操作,通常需要为 ORDER BY 建索引。
  • Using temporary:使用临时表,常见于 GROUP BY 或 DISTINCT 无索引的情况,应优化。
  • Using index:覆盖索引,不需要回表,性能好。
  • Using where:在存储引擎层过滤后再由 MySQL 服务层过滤,通常可接受,但如果伴随 ALL 则需改进。
  • Using index condition:索引下推(ICP),优化了部分条件在索引层过滤,有利。

4. 连接类型(JOIN)

  • Nested Loop:适用于小表驱动大表,内表最好有索引。
  • Hash Join(PG / MySQL 8.0+):适合两表数据量较大且无索引的等值连接,内存占用高。
  • Merge Join:排序后归并,较少出现。

5. 操作节点(PostgreSQL 特有)

  • Seq Scan:顺序扫描,数据量大时需优化。
  • Index Scan:索引扫描。
  • Bitmap Index Scan:先通过索引位图定位,再回表读取,适合多条件组合。
  • Sort / Group / Aggregate:排序和聚合操作,若消耗过高可考虑索引排序或改写 SQL。

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-12 16:48
中山联合光电 制程助理工程师 8k×12薪 本科其他
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4237次浏览 75人参与
# AI面会问哪些问题? #
27346次浏览 548人参与
# 米连集团26产品管培生项目 #
13271次浏览 285人参与
# 你的实习产出是真实的还是包装的? #
19973次浏览 342人参与
# 找AI工作可以去哪些公司? #
8806次浏览 228人参与
# 春招至今,你的战绩如何? #
64123次浏览 575人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14983次浏览 220人参与
# 从事AI岗需要掌握哪些技术栈? #
8694次浏览 296人参与
# 你做过最难的笔试是哪家公司 #
32770次浏览 226人参与
# 中国电信笔试 #
31679次浏览 286人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340658次浏览 2173人参与
# 阿里笔试 #
178225次浏览 1311人参与
# 第一份工作一定要去大厂吗 #
14330次浏览 122人参与
# 金三银四,你的春招进行到哪个阶段了? #
22013次浏览 280人参与
# 沪漂/北漂你觉得哪个更苦? #
9720次浏览 193人参与
# HR最不可信的一句话是__ #
6130次浏览 113人参与
# 应届生第一份工资要多少合适 #
20660次浏览 86人参与
# AI时代,哪个岗位还有“活路” #
11376次浏览 339人参与
# 春招你拿到offer了吗 #
830995次浏览 9986人参与
# 长得好看会提高面试通过率吗? #
22447次浏览 254人参与
# 聊聊你的职场新体验 #
336397次浏览 1894人参与
# 学历对求职的影响 #
665034次浏览 4249人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务