oracle多个划一的索引
当SQL语句的执行路径可以行使漫衍在多个表上的多个索引时,ORACLE会同时行使多个索引并在运行时对它们的记录举办归并,检索出仅对所有索引有用的记录. 在ORACLE选择执行路径时,独一性索引的品级高于非独一性索引. 然而这个法则只有 当WHERE子句中索引列和常量较量才有用.假如索引列和其他表的索引类对较量. 这种子句在优化器中的品级长短常低的. 假如差异表中两个想同品级的索引将被引用,FROM子句中表的次序将抉择哪个会被率先行使. FROM子句中最后的表的索引将有最高的优先级. 假如沟通表中两个想同品级的索引将被引用,WHERE子句中最先被引用的索引将有最高的优先级. 举例: ???? DEPTNO上有一个非独一性索引,EMP_CAT也有一个非独一性索引. ???? SELECT ENAME, ???? FROM EMP ???? WHERE DEPT_NO = 20 ???? AND EMP_CAT = ‘A’; 这里,DEPTNO索引将被最先检索,然后同EMP_CAT索引检索出的记录举办归并. 执行路径如下: TABLE ACCESS BY ROWID ON EMP ??? AND-EQUAL ??????? INDEX RANGE SCAN ON DEPT_IDX ??????? INDEX RANGE SCAN ON CAT_IDX (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |