- 浏览: 332214 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (224)
- Java (34)
- Test (3)
- Linux/Unix (32)
- Windows (8)
- Oracle (78)
- Oracle Backup & Recovery (3)
- SqlServer (1)
- Database (3)
- Open Source (2)
- Server Management (1)
- Apache ActiveMQ (1)
- IBM WebSphere MQ (7)
- IBM WAS (15)
- 其它 (11)
- UML (1)
- Tools (1)
- Reference (0)
- Spring (11)
- Hibernate (5)
- VBScript (3)
- Network (1)
- Securities (2)
- Maven (6)
- logging (2)
- Web (1)
- AWS (3)
最新评论
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
发表评论
-
DBCP连接池介绍
2018-09-12 13:17 477目前 DBCP 有两个版本分别是 1.3 和 1.4。 D ... -
Update两表(多表)关联update -- 被修改值由另一个表运算而来
2016-10-22 00:50 1015UPDATE trd_sess A SET A.r ... -
GV$LOCKED_OBJECT
2016-09-27 01:21 1165SELECT OBJECT_NAME, MACHINE, ... -
v$sql v$sqlarea v$sqltext v$sql_plan
2015-08-13 16:55 821v$sqltext存储的是完整的SQL,SQL被分割 SQ ... -
Oracle performance tuning
2015-08-10 17:47 617db block get+consistent gets ... -
JDBC driver 的类型 Type 1 Type2 Type3 Type4
2014-06-12 16:01 877在网上下载jdbc驱动程序,常看见type4字样,开始以为是 ... -
undo segment behavior
2014-04-04 19:04 794FAQ – Automatic Undo Managemen ... -
Connect to Oracle DB - Java
2014-04-04 15:14 733import java.sql.*; public ... -
Dataguard网络优化调整
2014-03-31 16:02 972Dataguard网络优化调整 Datagu ... -
Production error ORA-01001, ORA-03120, ORA-01460
2014-03-19 20:38 1003ORA-01001: invalid cursor OR ... -
Oracle 常见的33个等待事件
2014-03-12 15:42 4093一. 等待事件的相关知识: 1.1 等待事件主要可以 ... -
WBFC on Exadata
2014-02-27 14:57 8791. "Should we turn on Sto ... -
Oracle dump files
2014-02-27 12:58 688audit_file_dest = C:\ ... -
Adaptive Log File Sync
2014-02-26 19:52 1085Adaptive Log File sync was int ... -
ORA-39046: Metadata remap REMAP_TABLESPACE has already been specified.
2014-01-22 16:01 6742Import: Release 10.2.0.4.0 - 6 ... -
EXPDP – ORA-39142: incompatible version number 3.1
2014-01-22 12:25 1691Using EXPDP export a schema in ... -
Oracle 11g Real Time SQL Monitoring
2014-01-20 17:01 803http://kerryosborne.oracle-guy ... -
java.sql.SQLException: ORA-01001: invalid cursor
2013-12-20 13:59 3810There are three parameters tha ... -
ORA-01013 user requested cancel of current operation
2013-12-20 13:34 2465今天我碰到的case就是timeout引起的。 T ... -
Cannot run sqlplus on Linux with EOF
2013-12-20 11:02 864今天碰到个小问题,记下来,在linux上,不可以run fi ...
相关推荐
如果`object_type`上有索引,那么此查询将触发INDEX RANGE SCAN,因为Oracle只需要检索索引中类型为'TABLE'的记录。 ### 5. INDEX SKIP SCAN(索引跳跃扫描) INDEX SKIP SCAN用于多列复合索引,其中查询条件仅...
- **跳过扫描**(Index Skip Scan):对于包含范围条件和索引列的并集查询,跳过不匹配的索引块。 4. **快速全索引扫描**(Fast Full Index Scan):CBO模式下,对整个索引进行扫描,但不通过表。 5. **索引连接**...
5. **`INDEX SKIP SCAN`**:用于跨越多个索引分区进行搜索,特别适合于分区索引。 6. **`SCAN DESCENDING`**:按照降序顺序扫描索引。 7. **`INDEX JOIN`**:当查询涉及到多个表时,索引联接可以提高性能。 8. **`...
例如,脚本的输出显示了几个表的索引使用情况,如ACC_POS_CASH_PL_TBL_ARC表的主键索引PK_ACC_POS_CASH_PL_ARCH_TBL,执行了多次RANGE SCAN, UNIQUE SCAN, SAMPLE FAST FULL SCAN和SKIP SCAN操作。通过比较不同操作...
优化器在连接表的同时,还要选择访问单表的最佳方式,包括全表扫描、索引扫描(Index unique scan、index range scan、index full scan、index fast full scan、index skip scan)。选择哪种方式取决于数据分布、...
一、全表扫描(Full Table Scan) 全表扫描是 Oracle 访问路径的一种,最基本的访问方式。它扫描整个表,检查每一行记录,以找到匹配的记录。全表扫描通常用于以下情况: * 表非常小,扫描整个表的成本较低。 * ...
- **索引跳跃式扫描(Index Skip Scan)**:在多列索引中跳过部分索引项,适用于部分列有索引,部分列无索引的情况。 - **索引全扫描(Index Full Scan)**:遍历整个索引,通常在全表扫描比索引扫描更优时发生。 ...
21 INDEX(RANGESCAN) OF 'INDX_T' (NON-UNIQUE) (Cost=2 Card=20) ``` 这是因为`object_type`是组合索引的第一列,因此可以有效地利用该索引。 - 当查询条件涉及到`object_name`时: ```sql SQL> SELECT * ...
`ROLLBACK`, `ROW`, `ROWID`, `ROWNUM`, `ROWS`, `RULE`, `SAVEPOINT`, `SCAN`, `SCHEMA`, `SCN`, `SECOND`, `SECOND_MICROSECOND`, `SECURITY`, `SEGMENT`, `SELECT`, `SEQUENCE`, `SESSION`, `SESSION_CATALOG`, ...