
说明:
在执行SQL时,优化器会根据成本考虑是否进行查询转换,也就是将SQL进行改写,有时在调优过程中,需要了解查询转换过程,才能真正的了解到SQL执行的过程。
查询转换实验过程:
如下是四种查询转换实验,大家可以通过实验加深对查询转换的理解。
一.or expansion
二.View Merging
三.Predicate Pushing
四.Subquery Unnesting
一.or expansion
Oracle 优化器会根据成本考虑是否进行查询转换,例如考虑是否将谓词的 or 条件转换为 union all ,即,执行or expansion 。
例如:
原始SQL:
SELECT *
FROM employees e , departments d
WHERE ( e.email = 'SSTILES' OR d.department_name = 'Treasury' )
AND e.department_id = d.department_id ;
优化器可能会将上面的原始SQL 改写成如下 SQL 。
SELECT
订阅专栏 解锁全文
1828

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



