码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-24 18:05:41      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

   之前在10g下验证过使用参数skewonly收集直方图的缺陷,11g下已经修复。直方图在大数据量上显的越来越重要了,如果不准,执行计划很可能不准。

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL> drop table test purge;
SQL> create table test
        (
           id varchar2(60) primary key,
           name varchar2(100)
        );
SQL> insert into test
          select rpad(‘a‘, 40, ‘a‘) || to_char(rownum), object_name
            from 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               41622
SQL> 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                                    69617
NAME                                  40904

SQL> 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                                    69617

NAME                                  40904

可以看到两次收集的都是准的。

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

标签:

原文地址:http://blog.csdn.net/stevendbaguo/article/details/42126323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!