在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');