在Oracle中,存在執行計划不准的情況,懷疑表的統計信息是否收集,需要以下操作:
select table_name,num_rows,blocks,last_analyzed from user_tables where table_name='EMP';
說明:
-- table_name:展示表名 --num_rows:最后一次統計時的行數 --blocks:非當前塊數,最后一次統計時的塊數 --last_analyzed :最后一次統計的時間
--上述字段為null說明未統計
手動收集統計信息,並再次查看:
exec dbms_stats.gather_table_stats(ownname=>'META',tabname=>'EMP',estimate_percent=>10,method_opt=>'for all indexed columns');