您好,欢迎访问一九零五行业门户网

11g下使用参数skewonly收集直方图的缺陷已修复

之前在10g下验证过使用参数skewonly收集直方图的缺陷,11g下已经修复。直方图在大数据量上显的越来越重要了,如果不准,执行计划很可能不准。 sql select * from v$version;banner------------------------------------------------------------------------
之前在10g下验证过使用参数skewonly收集直方图的缺陷,11g下已经修复。直方图在大数据量上显的越来越重要了,如果不准,执行计划很可能不准。
sql> select * from v$version;banner--------------------------------------------------------------------------------oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit productionpl/sql release 11.2.0.1.0 - productioncore 11.2.0.1.0 productiontns for linux: version 11.2.0.1.0 - productionnlsrtl version 11.2.0.1.0 - productionsql> drop table test purge;sql> create table test(id varchar2(60)【本文来自鸿网互联 (http://www.68idc.cn)】 primary key,name varchar2(100));sql> insert into testselect rpad('a', 40, 'a') || to_char(rownum), object_namefrom dba_objects;已创建69617行。sql> commit;sql> select count(1),count(distinct id),count(distinct name) from test;count(1) count(distinctid) count(distinctname)---------- ----------------- -------------------69617 69617 41622sql> exec dbms_stats.gather_table_stats(user,'test',method_opt=>'for all columns size skewonly');sql> select column_name, num_distinct from user_tab_columns where table_name = 'test';column_name num_distinct------------------------------ ------------id 69617name 40904sql> exec dbms_stats.gather_table_stats(user,'test',method_opt=>'for all columns size auto');sql> select column_name, num_distinct from user_tab_columns where table_name = 'test';column_name num_distinct------------------------------ ------------id 69617name 40904
可以看到两次收集的都是准的。
其它类似信息

推荐信息