1. 程式人生 > >ORACLE索引失效解決方案

ORACLE索引失效解決方案

最近碰到這樣一個問題:在PROD_PARTS表中新添加了一個索引:

create index IDX_PT_DV_ID on PROD_PARTS (DEVICE_ID);

但是在使用DEVICE_ID欄位進行查詢時,發現該索引並沒有被利用到:

SELECT * FROM PROD_PARTS WHERE device_id =122511619;
執行計劃:
TABLE ACCESS FULL

之後請教DBA後,發現是資料統計的問題,具體的解決辦法是執行下面的語句:

analyze table PROD_PARTS compute statistics;
ANALYZE TABLE PROD_PARTS COMPUTE STATISTICS FOR ALL INDEXED COLUMNS;
analyze table PROD_PARTS compute statistics for table for all indexes for all indexed columns;