目录
4.数据库索引:谈谈对索引的理解,为什么用索引,什么情况下使用索引,索引的底层数据结构是什么,为什么用b+树,为什么不用红黑树,b+树和b树的区别
1.sql执行的顺序
SQL的执行顺序从前到后依次是:
- FROM:获取第一张表,称为原表table1,获取第二张表,称为原表table2,将两张表做笛卡尔积,生成第一张中间表Temp1。
- ON:根据筛选条件,在Temp1上筛选符合条件的记录,生成中间表Temp2。
- JOIN:根据连接方式的不同,选择是否在Temp2的基础上添加外部行。左外就把左表在Temp2中筛选掉的表添加回来生成Temp3,右外则是右表。
- WHERE:筛选表中的记录,对中间表temp3的记录进行过滤,生成temp4。
- GROUP BY:根据聚合键对表进行分组,即在temp4的基础上做分组,生成temp5。
- WITH:应用cube或rollup生成超组,在Temp5的基础上添加超组,生成Temp6。
- HAVING:对组进行筛选,生成temp7。
- SELECT:选取字段,对temp7进行字段的选取,生成temp8。
- DISTINCT:对字段进行去重,对temp8进行去重,生成temp9。
- ORDER BY:按照排序键对表进行排序,对temp9中的表进行排序,生成temp10。
- LIMIT(TOP):对表进行分页,对temp10进行分页,生成temp11。
订阅专栏 解锁全文
3798




被折叠的 条评论
为什么被折叠?



