谁告诉你是这么执行的?
哪本书这么写就丢掉
【 在 sjfdesolve (dfljsdklfjsdlkfjsd) 的大作中提到: 】
: 标 题: mysql的执行顺序和索引
: 发信站: 水木社区 (Fri Mar 12 12:13:00 2021), 站内
:
: mysql执行sql的顺序从 From 开始,以下是执行的顺序流程
:
: 1、FROM table1 left join table2 on 将table1和table2中的数据产生笛卡尔积,生成Temp1
:
: 2、JOIN table2 所以先是确定表,再确定关联条件
:
: 3、ON table1.column = table2.column 确定表的绑定条件 由Temp1产生中间表Temp2
:
: 4、WHERE 对中间表Temp2产生的结果进行过滤 产生中间表Temp3
:
: 5、GROUP BY 对中间表Temp3进行分组,产生中间表Temp4
:
: 6、HAVING 对分组后的记录进行聚合 产生中间表Temp5
:
: 7、SELECT 对中间表Temp5进行列筛选,产生中间表 Temp6
:
: 8、DISTINCT 对中间表 Temp6进行去重,产生中间表 Temp7
:
: 9、ORDER BY 对Temp7中的数据进行排序,产生中间表Temp8
:
: 10、LIMIT 对中间表Temp8进行分页,产生中间表Temp9
:
:
: 我的困惑是
: 既然产生中间表,那索引是怎么起作用的?
: 尤其是order by在select之后
: select都选出字段了,order by还怎么走索引?
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 103.37.140.*]
--
FROM 106.39.150.*