我创建了一个函数索引,但是在查询时发现并没有用上此索引,就是用提示使用此索引,仍然没有使用到函数索引,
此函数索引名为:messagetabe_qqsj_f
在此列上建的另一个B树索引是:messagetabe_qqsj
创建函数索引语句是:
create index messagetable_qqsj_f on messagetable(to_char(qqsj,'yyyy-mm-dd'))
create index messagetable_qqsj on messagetable(qqsj);
在创建函数索引前已授予用户权限:query_rewrite
以下是执行计划:
指定索引
SQL> select --+index(messagetable,messagetabe_qqsj_f)
2 count(*) from messagetable where to_char(qqsj,'yyyy-mm-dd')='2002-01-01';
已用时间: 00: 00: 02.13
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=FIRST_ROWS (Cost=1 Card=1 Bytes=9
) 1 0 SORT (AGGREGATE)
2 1 INDEX (FULL SCAN) OF 'MESSAGETABLE_QQSJ' (NON-UNIQUE) (C
ost=26 Card=15070 Bytes=135630)Statistics
----------------------------------------------------------
8 recursive calls
0 db block gets
1606 consistent gets
0 physical reads
0 redo size
365 bytes sent via SQL*Net to client
425 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
1 rows processed
SQL>
执行计划显示虽然指定的是函数索引,但是使用的还是在此列的B树索引。
请大侠指点,先谢了!!!
此函数索引名为:messagetabe_qqsj_f
在此列上建的另一个B树索引是:messagetabe_qqsj
创建函数索引语句是:
create index messagetable_qqsj_f on messagetable(to_char(qqsj,'yyyy-mm-dd'))
create index messagetable_qqsj on messagetable(qqsj);
在创建函数索引前已授予用户权限:query_rewrite
以下是执行计划:
指定索引
SQL> select --+index(messagetable,messagetabe_qqsj_f)
2 count(*) from messagetable where to_char(qqsj,'yyyy-mm-dd')='2002-01-01';
已用时间: 00: 00: 02.13
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=FIRST_ROWS (Cost=1 Card=1 Bytes=9
) 1 0 SORT (AGGREGATE)
2 1 INDEX (FULL SCAN) OF 'MESSAGETABLE_QQSJ' (NON-UNIQUE) (C
ost=26 Card=15070 Bytes=135630)Statistics
----------------------------------------------------------
8 recursive calls
0 db block gets
1606 consistent gets
0 physical reads
0 redo size
365 bytes sent via SQL*Net to client
425 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
1 rows processed
SQL>
执行计划显示虽然指定的是函数索引,但是使用的还是在此列的B树索引。
请大侠指点,先谢了!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货