现有一个表th_messageinfo,表中大概有100多万数据,在测试索引的时候发现一个奇怪的问题
语句如下:
SELECT distinct target_id,built_time,mileage
    FROM    (
            SELECT  target_id,built_time,mileage
            FROM    th_messageinfo
            WHERE   built_time >= 1254067200
            AND     built_time <= 1254153599) a
查看解释计划如下:
Description 对象所有者 对象名称 耗费 基数 字节
SELECT STATEMENT, GOAL = ALL_ROWS 849 1697 263035
 SORT UNIQUE 849 1697 263035
  TABLE ACCESS FULL SYSTEM TH_MESSAGEINFO 801 1697 263035执行时间是6.797秒创建索引:
create index i_th_messageinfo_3 on th_messageinfo(built_time);查看解释计划如下:
Description 对象所有者 对象名称 耗费 基数 字节
SELECT STATEMENT, GOAL = ALL_ROWS 54 1697 263035
 SORT UNIQUE 54 1697 263035
  TABLE ACCESS BY INDEX ROWID SYSTEM TH_MESSAGEINFO 6 1697 263035
   INDEX RANGE SCAN SYSTEM I_TH_MESSAGEINFO_3 2 3054 但是执行时间竟然用了69.047秒请教高手这是为什么?