| 1 | PARTITION RANGE ALL | | 136 | 2720 | 134 (0)| 00:00:02 | 1 | 20 |
| 2 | TABLE ACCESS BY LOCAL INDEX ROWID| LI_DB_SESSION_T | 136 | 2720 | 134 (0)| 00:00:02 | 1 | 20 |
|* 3 | INDEX RANGE SCAN | LI_IDX_03 | 136 | | 41 (0)| 00:00:01 | 1 | 20 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - access("T"."DBNAME"='COSTDB' AND "T"."ALLSESS"=28 AND "T"."ACTIVESS"=4)
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
1869 consistent gets
1046 physical reads
0 redo size
59842 bytes sent via SQL*Net to client
2239 bytes received via SQL*Net from client
158 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2346 rows processed
5、性能对比小结 5.1 五种索引性能对比
(1)SQL语句:
select * from tivoli.li_db_session_t t where t.allsess=28 andt.dbname='COSTDB' and t.timstap >to_date('2011-01-01','yyyy-mm-dd') andt.timstap < to_date('2011-01-20','yyyy-mm-dd') and t.activess=4;
序号
使用索引名称
索引特点
索引类型
是否有回表
time
consistent gets
1
LI_IDX_01
只有分区字段列的local索引
LOCAL-PREFIXED
是
0:41:38
262334
2
LI_IDX_02
分区字段列为索引首位,索引中的列包含where条件中的所有列的local索引
LOCAL-PREFIXED
否
0:00:34
3141
3
LI_IDX_03
不包含分区字段列的local索引,索引字段包含where条件中除分区列以外的所有列
LOCAL-NON_PREFIXED
是
0:00:02
658
4
LI_IDX_04
包含where条件中的所有列,包括分区字段列,但是分区字段列非首位的local索引
LOCAL-NON_PREFIXED
否
0:00:01
43
5
LI_IDX_05
包含where条件中的所有列,包括分区字段列,但是分区字段列非首位的全局索引
GLOBAL
否
0:00:01
41
(2)SQL语句二:
select /*+ index(t li_idx_03)*/ * fromtivoli.li_db_session_t t where t.allsess=28 and t.dbname='COSTDB' andt.activess=4;
序号
使用索引名称
索引特点
索引类型
是否有回表
time
consistent gets
1
LI_IDX_03
不包含分区字段列的local索引,��引字段包含where条件中除分区列以外的所有列
LOCAL-NON_PREFIXED
是
0:00:02
1869
5.2 小结
(1)从上面性能对比数据来看,GLOBAL索引的性能最好,但是由于GLOBAL索引在删除分区后索引会失效,所以分区表上不建议使用GLOBAL索引。