当前位置: 移动技术网 > IT编程>数据库>Oracle > Oracle语句执行顺序及优化

Oracle语句执行顺序及优化

2020年07月14日  | 移动技术网IT编程  | 我要评论

一、执行顺序

需要明确:以下每个步骤都会产生一张虚拟表,然后通过某种条件转入下一步骤

(8) SELECT  (9) DISTINCT (11) <TOP_specification> <select_list> 
(1) FROM <left_table>  
(3) <join_type> JOIN <right_table> 
(2) ON <join_condition> 
(4) WHERE <where_condition> 
(5) GROUP BY <group_by_list> 
(6) WITH {CUBE | ROLLUP} 
(7) HAVING <having_condition> 
(10) ORDER BY <order_by_list>
-- 1-3 是解析全部表数据,通过on条件消除笛卡尔积,得到虚拟表t1
-- 4 是将t1的结果按where条件筛选,得出虚拟表t2
-- 5 是将t2进行分组,得到虚拟表t3
-- 6 目前不知道
-- 7 将分组后的结果集t3进行条件筛选,得到结果集t4
-- 8 筛选需要的字段,得到t5
-- 9 去掉重复行,得到t6
-- 10 进行排序,得到t7
-- 11 指定返回多少行,得到t8

本文地址:https://blog.csdn.net/weixin_43646427/article/details/107322325

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网