oracle index skip scan,索引跳跃式扫描(INDEX SKIP SCAN)
索引跳跃式扫描(INDEX SKIP SCAN)
索引跳跃式扫描(INDEX SKIP SCAN)适用于所有类型的复合B树索引(包括唯一性索引和非唯一性索引),它使那些在where条件中没有对目标索引的前导列指定查询条件但同时又对该 索引的非前导列指定了查询条件的目标SQL依然可以用上该索引,这就像是在扫描该索引时跳过了它的前导列,直接从该索引的非前导列开始扫描一样(实际的执行过程并非如此),这也是索引跳跃式扫描中"跳跃"(SKIP)一词的含义。
为什么在where条件中没有对目标索引的前导列指定查询条件但Oracle依然可以用上该索引呢?这是因为Oracle帮你对该索引的前导列的所有distinct值做了遍历。
实例
创建一个测试表EMPLOYEE:
create table employee(gender varchar2(1),employee_id number);
将该表的列EMPLOYEE_ID的属性设为NOT NULL:
alter table employee modify(employee_id not null);
创建一个名为IDX_EMPOLYEE的复合B树索引,其中列GENDER是该索引的前导列,列EMPLOYEE_ID是该索引的第二列:
create index idx_employee on employee(gender,employee_id);
使用如下PL/SQL代码往表EMPLOYEE中插入10,000条记录,其中5,000条记录的列GENDER的值为"F",另外5,000条记录的列GENDER的值为"M":
begin
for i in 1..5000 loop
insert into employe
oracle index skip scan,索引跳跃式扫描(INDEX SKIP SCAN)相关推荐
- php唯一索引,索引唯一性扫描(INDEX UNIQUE SCAN)
SCOTT@PDBORCL> select * from emp where empno=7369; 执行计划 ----------------------------------------- ...
- Oracle执行计划。RBO优化器和CBO优化器。TABLE ACCESS FULL,TABLE ACCESS BY INDEX ROWID,TABLE ACCESS BY INDEX SCAN
文章目录 通过PL/SQL Developer查看查询的执行计划 1. 什么是执行计划 2. 配置执行计划需要显示的项 3执行计划的常用列字段解释 4. 使用执行计划 5. 查看执行计划 5.1 执行 ...
- 索引全扫描与索引快速扫描的区别
1.索引全扫描(index full scan),跟随全表扫描样,索引也存在全扫描.全索引扫描只在CBO下有效,当优化器认为全索引扫描比全表扫描更有效时,才使用全索引扫描. 例如:select id ...
- oracle合理的使用索引原则
原则: 首先,看是否用上索引.对于该使用索引而没有用上索引的sql,应该想办法用上索引,避免全表扫描. 其次,看是否用上了合理的索引,特别是复杂的sql语句,当其中where子句包含多个带有索引的字段 ...
- oracle查询不走索引全表扫描,使用索引快速全扫描(Index FFS)避免全表扫描的若干场景-Oracle...
使用索引快速全扫描(Index FFS)避免全表扫描的若干场景 什么使用使用Index FFS比FTS好? Oracle 8的Concept手册中介绍: 1. 索引必须包含所有查询中参考到的列. 2. ...
- oracle 索引快速全扫描,使用索引快速全扫描(Index FFS)避免全表扫描的若干场景
使用索引快速全扫描(Index FFS)避免全表扫描(FTS) (文档 ID 70135.1) 什么使用使用Index FFS比FTS好? Oracle 8的Concept手册中介绍: 1. 索引必须 ...
- oracle 索引快速全扫描,使用目录快速全扫描(Index FFS)避免全表扫描的若干场景
使用索引快速全扫描(Index FFS)避免全表扫描的若干场景 使用索引快速全扫描(Index FFS)避免全表扫描(FTS) (文档 ID 70135.1) 什么使用使用Index FFS比FTS好 ...
- Oracle索引梳理系列(五)- Oracle索引种类之表簇索引(cluster index)
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- check oracle 为空值_索引(index)-Oracle高级知识(3)-数据库(23)
这篇文章是Oracle数据库的高级知识: 索引(index) 是非常重要的内容.知识点繁杂,靠理解.实战和笔记来熟练运用. 3 索引(Index) 3.1 什么是索引 在关系型数据库中,索引是一种单独 ...
最新文章
- 机器学习中的分类距离
- 试试博客园的markdown编辑器
- ie禁止html复制元素,JavaScript_禁止选中文字兼容IE、Chrome、FF等,复制代码 代码如下: $(el).attr('u - phpStudy...
- Bugzilla安装过程
- 风控建模 python 知乎_风控建模基本要求及面试问题小结
- mmap无血缘关系进程间通信
- linux挂载查看、添加与取消
- python编程函数_python函数式编程
- chrome样式不生效_Chrome开发者工具的11个使用技巧
- Android8.1展讯平台之audio_policy_configuration.xml(四十二)
- backtrack5 oracle,BackTrack5(BT5)硬盘安装
- Jvisualvm监控远程SpringBoot项目
- 微信APP支付的sgin拼接
- 【单片机】RGB和RGBW LED灯珠的区别
- python爬虫做毕业论文_基于Python的网络爬虫(智联招聘)开发与实现毕业论文+作品源码+演示视频...
- 玩转Linux操作系统常见操作,包括VMware安装,DHCP,DNS,Sendmail,NCSA验证,Apache,反向代理,webalizer,创建oracle用户,赋权,挂载
- 【Xilinx】Zynq\MPSoc\Versal不同速度等级下的ARM主频
- 如何设置word表格中文字与表格线之间的距离(缩短文字和上面表格线之间距离),让表格变得紧凑
- C语言求斜边程序,用C语言编写勾股定理求斜边
- 老码农眼中的大模型(LLM)