oracle连接多个扫描
2023-09-11 14:18:18 时间
如果你对一个列和一组有限的值进行比较, 优化器可能执行多次扫描并对结果进行合并连接.
举例:
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)
相关文章
- Oracle数据库提权(低权限提升至dba)
- oracle查看锁表进程,杀掉锁表进程
- Oracle授权允许远程访问--Oracle配置允许远程连接
- 连接远程Oracle
- 数据库选型思考(PostgreSQL,MySQL,Oracle)
- PL/SQL Developer的安装以及与64位Oracle Database进行连接
- cx_Oracle连接oracle数据库
- Oracle Enterprise Linux6.3下安装Oracle11g Grid ASM
- Oracle Golden Gate
- Oracle grid infrastructure 卸载 grid卸载
- 本地不安装Oracle,plsql远程连接数据库
- JDBC连接oracle RAC数据库配置
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
- Oracle性能优化学习笔记之WHERE子句中的连接顺序
- 连接ORACLE数据库,是不是必须要安装oracle客户端的运行时
- Oracle :一次数据库连接,返回多个结果集
- Oracle创建表空间、创建用户以及授权
- Oracle ORA-12899
- Oracle连接和用户、权限-12c
- mybatis连接Oracle执行begin..end批量操作返回行数问题
- oracle 锁表、解锁的语句
- Oracle db中 CONNECT role的含义
- 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上)