导新导数据后,单表(300万)查询零点几秒,关联一个代码表(60条),变为30秒才出来,语句:
select count(*) from ins_checkresultmain t1 left join bas_checkstation t2 on t1.stationpkid=t2.pkid 
where checktime>=to_date('2012-07-23 00:00:00','yyyy-mm-dd hh24:mi:ss')
and checktime<=to_date('2012-07-23 23:00:00','yyyy-mm-dd hh24:mi:ss')  
分析:
SELECT STATEMENT, GOAL = CHOOSE Cost=3 Cardinality=1 Bytes=27
 SORT AGGREGATE Cardinality=1 Bytes=27
  NESTED LOOPS Cost=3 Cardinality=1628 Bytes=43956
   TABLE ACCESS BY INDEX ROWID Object owner=GZJDC Object name=INS_CHECKRESULTMAIN Cost=3 Cardinality=1628 Bytes=27676
    INDEX RANGE SCAN Object owner=GZJDC Object name=IDX_INS_CSMAIN_CHKTIME Cost=2 Cardinality=1628
   INDEX UNIQUE SCAN Object owner=GZJDC Object name=PK_BAS_CHECKSTATION Cardinality=1 Bytes=10
原来导数前好象没有TABLE ACCESS BY INDEX ROWID这个的,直接用了IDX_INS_CSMAIN_CHKTIME索引,麻烦各位帮看一下什么原因,谢谢!