- 1
- 0
- 约2.35千字
- 约 2页
- 2017-06-08 发布于重庆
- 举报
分析Oracle索引四大类
根据索引的类型与where限制条件的不同,有4种类型的Oracle索引扫描:◆索引唯一扫描 index unique scan ◆索引范围扫描 index range scan ◆索引全扫描 index full scan ◆索引快速扫描 index fast full scan
1 索引唯一扫描 index unique scan
通过唯一索引查找一个数值经常返回单个ROWID。如果该唯一索引有多个列组成 即组合索引 ,则至少要有组合索引的引导列参与到该查询中,如创建一个索引:create index idx_test on emp ename, deptno, loc 。则select ename from emp where ename ‘JACK’ and deptno ‘DEV’语句可以使用该索引。如果该语句只返回一行,则存取方法称为索引唯一扫描。而select ename from emp where deptno ‘DEV’语句则不会使用该索引,因为where子句种没有引导列。如果存在UNIQUE 或PRIMARY KEY 约束 它保证了语句只存取单行 的话,Oracle经常实现唯一性扫描。
使用唯一性约束的例子:
SQL ?explain?plan?for ?
select?empno,ename?from?emp?where?empno 10; ?
Query?Plan ?
SELECT?STATEMENT?[CHOOSE]?Cost 1?
TABLE?ACCESS?BY?ROWID?EMP?[ANALYZED] ?
INDEX?UNIQUE?SCAN?EMP_I1?
2 索引范围扫描 index range scan
使用一个索引存取多行数据,同上面一样,如果索引是组合索引,如 1 所示,而且select ename from emp where ename ‘JACK’ and deptno ‘DEV’语句返回多行数据,虽然该语句还是使用该组合索引进行查询,可此时的存取方法称为索引范围扫描。在唯一索引上使用索引范围扫描的典型情况下是在谓词 where限制条件 中使用了范围操作符 如 、 、 、 、 、between
使用索引范围扫描的例子:
SQL ?explain?plan?for?select?empno,ename?from?emp ?
where?empno? ?7876?order?by?empno; ?
Query?Plan ?
SELECT?STATEMENT?[CHOOSE]?Cost 1?
TABLE?ACCESS?BY?ROWID?EMP?[ANALYZED] ?
INDEX?RANGE?SCAN?EMP_I1?[ANALYZED]?
在非唯一索引上,谓词col 5可能返回多行数据,所以在非唯一索引上都使用索引范围扫描。
使用index rang scan的3种情况: a 在唯一索引列上使用了range操作符 between b 在组合索引上,只使用部分列进行查询,导致查询出多行 c 对非唯一索引列上进行的任何查询。
3 索引全扫描 index full scan
与全表扫描对应,也有相应的全Oracle索引扫描。在某些情况下,可能进行全Oracle索引扫描而不是范围扫描,需要注意的是全Oracle索引扫描只在CBO模式下才有效。 CBO根据统计数值得知进行全Oracle索引扫描比进行全表扫描更有效时,才进行全Oracle索引扫描,而且此时查询出的数据都必须从索引中可以直接得到。
全Oracle索引扫描的例子:
An?Index?full?scan?will?not?perform?single?block?i/os?and?so?it?may?prove?to?be?inefficient. ?
e.g. ?
Index?BE_IX?is?a?concatenated?index?on?big_emp? empno,?ename SQL ?explain?plan?for?select?empno,?ename?from?big_emp?order?by?empno,ename; ?
Query?Plan ?
SELECT?STATEMENT?[CHOOSE]?Cost 26?
INDEX?FULL?SCAN?BE_IX?[ANALYZED]?
4 索引快速扫描 index fast full scan
扫描索引中的所有的数据块,与 index full scan很类似,但是一个显著的区别就是它不对查询出的数据进行排序,即数据不是以排序顺序被返回。在这种存取方法中,可以使用多块读功能,也可以使用并行读入,以
您可能关注的文档
最近下载
- 工程造价审计服务投标方案.docx VIP
- ISO9001-2026质量管理体系质量手册及程序文件.docx
- 2022-2023年部编版三年级数学下册期末考试卷(附答案).doc
- (新教材)2026年人音版二年级下册音乐全册教案.pdf
- 2025年美容院活动策划及组织(2篇).docx VIP
- 2025-2026学年上海市虹口区八年级(上)期末化学试卷(含答案).docx
- 美容院活动策划及组织(2篇).docx VIP
- 物业工程部安全知识培训课件.pptx
- 新高考数学一轮复习讲义 第45讲 抛物线及其性质(原卷版).doc VIP
- 2026年重庆市高三学业水平选择性考试高考模拟调研卷(一)生物试卷(含答案详解).docx
原创力文档

文档评论(0)