etxn_tbl资料量非常大,对于rrn建立PK。
执行以下SQL速度非常慢:
select * from etxn_tbl_his
where rrn=100000002683;
分析发现竟然是做的FULL TABLE SCAN:
Execution Plan
----------------------------------------------------------
0SELECT STATEMENT Optimizer=CHOOSE (Cost=661 Card=1 Bytes=169
)
10 TABLE ACCESS (FULL) OF 'ETXN_TBL_HIS' (Cost=661 Card=1 Byt
es=169)
结果,对条件中的字符串加上引号之后,就正常了。
select * from etxn_tbl_his
where rrn='100000002683';
Execution Plan
----------------------------------------------------------
0SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=1 Bytes=169)
10 TABLE ACCESS (BY INDEX ROWID) OF 'ETXN_TBL_HIS' (Cost=3 Ca
rd=1 Bytes=169)
21 INDEX (UNIQUE SCAN) OF 'PK_ETXN_TBL_HIS' (UNIQUE) (Cost=