Heim > Datenbank > MySQL-Tutorial > 11g下使用参数skewonly收集直方图的缺陷已修复

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 16:12:50
Original
1314 Leute haben es durchsucht

之前在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 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)【本文来自鸿网互联 (http://www.68idc.cn)】 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
Nach dem Login kopieren

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

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage