加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle连接多个扫描

发布时间:2021-01-20 03:56:23 所属栏目:站长百科 来源:网络整理
导读:假如你对一个列和一组有限的值举办较量,优化器也许执行多次扫描并对功效举办归并毗连. 举例: ??? SELECT * ??? FROM LODGING ??? WHERE MANAGER IN (‘BILL GATES’,’KEN MULLER’); ??? 优化器也许将它转换成以下情势 ??? SELECT * ??? FROM LODGING ??? W

假如你对一个列和一组有限的值举办较量,优化器也许执行多次扫描并对功效举办归并毗连.

举例:

??? SELECT *

??? FROM LODGING

??? WHERE MANAGER IN (‘BILL GATES’,’KEN MULLER’);

??? 优化器也许将它转换成以下情势

??? SELECT *

??? FROM LODGING

??? WHERE MANAGER = ‘BILL GATES’

??? OR MANAGER = ’KEN MULLER’;

??? 当选择执行路径时,优化器也许对每个前提回收LODGING$MANAGER上的索引范畴扫描. 返回的ROWID用来会见LODGING表的记录 (通过TABLE ACCESS BY ROWID 的方法). 最后两组记录以毗连(CONCATENATION)的情势被组合成一个单一的荟萃.

Explain Plan :

SELECT STATEMENT Optimizer=CHOOSE

?? CONCATENATION

????? TABLE ACCESS (BY INDEX ROWID) OF LODGING

???????? INDEX (RANGE SCAN ) OF LODGING$MANAGER (NON-UNIQUE)

?? ??TABLE ACCESS (BY INDEX ROWID) OF LODGING

???????? INDEX (RANGE SCAN ) OF LODGING$MANAGER (NON-UNIQUE)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读