前言

2022.01.03,MySQL 汇总优化前置章节

使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的,从而分析性能瓶颈。

它的作用如下:

官方文档连接如下:

  • EXPLAIN 格式在线文档: https://dev.mysql.com/doc/refman/8.0/en/explain-output.html


执行计划字段

使用以下 SQL 作为例子:

EXPLAIN SELECT DISTINCT
	opt.order_bill_no 
FROM
	wms_order_detail opt
	LEFT JOIN wms_order wo ON wo.id = opt.order_id 
	AND wo.del_flag = 0
	LEFT JOIN wms_entry_detail wed ON opt.id = wed.order_detail_id 
	AND wed.del_flag = 0 
WHERE
	opt.del_flag = 0 
	AND opt.deliver_box_num != wed.sign_box_num 
	AND ( wo.order_status = '40' OR wo.order_status = '50')

执行结果先给个截图:

各字段说明、以及关注点如下:


extra 说明

extra 主要类型及说明如下:


参考文章

  1. SQL执行计划_Jay的博客-CSDN博客_sql执行计划open in new window
  2. explain执行计划详解_eagle89的专栏-CSDN博客_explain执行计划open in new window
  3. Explain中的filtered列_weixin_34050389的博客-CSDN博客open in new window