`

Oracle index skip/range/full table/unique scan

 
阅读更多

 

INDEX SKIP SCAN是9i之后提供的新功能,实现了即使WHERE条件中不存在索引的前导列也可以使用索引。但是INDEX SKIP SCAN是需要下面几个条件的:

1,版本9i及以后

2,CBO(表和索引都经过分析)

3,索引的前导列重复值很少(选择性低)

4,WHERE条件中不存在索引前导列

 

 

create table test_skipscan (a varchar2(10),b number ,c varchar2(100),d date);
insert into test_skipscan select '1',dbms_random.value(1,100),object_name,SYSDATE from dba_objects where rownum<10000;
insert into test_skipscan select '2',dbms_random.value(1,100),object_name ,SYSDATE from dba_objects where rownum<10000;
insert into test_skipscan select '3',dbms_random.value(1,100),object_name ,SYSDATE from dba_objects where rownum<10000;
insert into test_skipscan select '4',dbms_random.value(1,100),object_name ,SYSDATE from dba_objects where rownum<10000;

exec DBMS_STATS.GATHER_TABLE_STATS(ownname => 'RTP06TA1',tabname => 'TEST_SKIPSCAN', cascade => TRUE,no_invalidate => FALSE);

create index i_test_skipscan_1 on test_skipscan(a,c);
select * from test_skipscan where c='/2191e31f'; -- use skip scan

create index i_test_skipscan_2 on test_skipscan(a,b,c);
select * from test_skipscan where b = '111111' AND c='/2191e31f'; -- use skip scan

create index i_test_skipscan_3 on test_skipscan(b,c);
select * from test_skipscan where c='/2191e31f'; -- use full table scan

create index i_test_skipscan_4 on test_skipscan(c);
select * from test_skipscan where c='/2191e31f'; -- use range scan
分享到:
评论

相关推荐

    Oracle Database 9i/10g/11g编程艺术深入数据库体系结构2.pdf

    Tom经典大作,Oracle Database 9i/10g/11g编程艺术深入数据库体系结构中文版

    Oracle Database 9i/10g/11g编程艺术深入数据库体系结构3.pdf

    Oracle Database 9i/10g/11g编程艺术深入数据库体系结构中文版

    Oracle Database 9i/10g/11g编程艺术深入数据库体系结构4.pdf

    Oracle Database 9i/10g/11g编程艺术深入数据库体系结构中文版

    oracle 10g默认用户名、密码解锁

    在Oracle 10g数据库系统中,默认情况...通过上述方法,可以有效地解锁Oracle 10g中的默认用户,从而确保数据库管理系统能够正常运行并方便地进行管理和维护。同时,建议在生产环境中及时更改默认密码,以提高安全性。

    Oracle9i PL/SQL程序设计

    权威PL/SQL语言参考书

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    Oracle 各版本的下载地址汇总

    Oracle 各版本的下载地址汇总 Oracle 是一款功能强大且广泛应用的关系型数据库管理系统,用于存储、管理和检索数据。 Oracle 数据库有多个版本,分别适用于不同的操作系统和架构。以下是 Oracle 各版本的下载地址...

    Centos7安装Oracle 11gR2指南

    2. **上传安装文件**:将Oracle安装文件`linux.x64_11gR2_database_1of2.zip`和`linux.x64_11gR2_database_2of2.zip`上传至`/home/oracle/`目录,并解压到`/home/oracle/database/`目录。 ```bash unzip linux.x64...

    oracle各种安装版本的下载地址大全

    Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级数据存储、管理和处理。本文将详细介绍Oracle数据库的各种安装版本及其下载地址,适用于Windows XP、Linux和AIX等操作系统。 首先,Oracle...

    oracle数据库创建脚本

    oracle数据库创建脚本 #!/bin/sh OLD_UMASK=`umask` umask 0027 mkdir -p /oradata .../u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus /nolog @/u01/app/oracle/admin/tdrb/scripts/tdrb.sql

    Oracle PL/SQL实例精解 数据库建立代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...

    /* append*/ oracle append 知识点

    ### Oracle Append 模式详解 #### 一、概述 在Oracle数据库中,`/*append*/` 是一种特殊的提示,用于指示数据库使用特定的方式执行插入操作。这种插入方式被称为 **Append Mode** 或 **Direct Path Insert**。它能...

    Portable PGP Java 源代码

    请到oracle下载对应的jre版本。 参考: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html JDK默认Policy只能支持位Key,GPG的密钥从1024-2048,所以必须扩展该Policy。具体...

    Oracle9i PL/SQL从入门到精通

    Oracle9i PL/SQL从入门到精通

    oracle 9i 全部下载链接

    根据提供的标题、描述、标签及部分内容,我们可以整理出关于Oracle 9i的多个关键知识点,主要包括不同操作系统下的版本、下载链接以及如何获取这些资源的方法。 ### Oracle 9i概述 Oracle 9i 是甲骨文公司(Oracle ...

    UltraEdit/UEStudio Oracle 语法高亮/语法着色文件

    UltraEdit/UEStudio Oracle 语法高亮/语法着色文件

    linux下的Oracle数据库安装,卸载和静默安装

    手工建库: 1.写参数文件,创建实例: vi $ORACLE_HOME/dbs/initorcl.ora 写入以下内容: ...control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'

    linux环境下oracle10g安装

    linux环境下oracle10g安装 1.连接putty 2.用root登录后建立用户和组 新增oinstall、dba用户组,oracle用户 [root@oracle10g /]# groupadd oinstall [root@oracle10g /]# groupadd dba [root@oracle10g /]# useradd ...

    index索引的8种使用模式

    如果`object_type`上有索引,那么此查询将触发INDEX RANGE SCAN,因为Oracle只需要检索索引中类型为'TABLE'的记录。 ### 5. INDEX SKIP SCAN(索引跳跃扫描) INDEX SKIP SCAN用于多列复合索引,其中查询条件仅...

    Oracle_Database_11g_标准版_企业版__下载地址_详细列表

    Oracle Database 11g 标准版和企业版下载地址详细列表 Oracle Database 11g 是一个关系型数据库管理系统,由 Oracle Corporation 推出的。它提供了标准版和企业版两个版本,以满足不同的企业需求。在这个下载地址...

Global site tag (gtag.js) - Google Analytics