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

之前在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

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

时间: 2024-10-11 14:17:59

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

在Oracle 11.2.0.1.0下dbms_stats.gather_table_stats收集直方图不准

在虚拟机上测评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 因为是虚拟机上的测评,所以时间只做参考,不要太较真, 看看就好了.MySQL 工具:    1. 自带mysqlimport工具.    2. 命令行 load data infile ...    3. 利用mysql-connector-python Driver来写的脚本. PostgreSQL 工具:    1. pgloader 第三方工具.    2. 命令行 copy ... from

oracle 11g下冷备数据库

1.关闭数据库 [email protected]>shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down. 2.退出[email protected]>exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning,

Linux 下configure 参数配置与软件的安装与卸载

Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了.Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用. 'configure'脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上'--help'选项执行'configure'脚本可以看到可用的所有选项.尽管许多选项

Oracle 11g下ORA-00119和ORA-00132错误的解决

在启动数据库时出现下列错误 [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon May 5 21:56:00 2014 Copyright (c) 1982, 2013, Oracle.  All rights reserved. Connected to an idle instance. [email protected]>startupORA-00119: inv

[转载]window系统下TCP参数优化

注:此文转载自红黑联盟,最近服务器遇到周期性down掉的问题,拖了两三周请教了前辈之后才知道无关应用和数据库的事情,是tcp设置的问题.从网上找个这篇文章,解释的很不错.有兴趣请至红黑联盟翻阅原文. TCP连接的状态与关闭方式及其对Server与Client的影响 http://www.2cto.com/net/201304/206071.html 通常会采用修改注册表的方式改进Windows的系统参数.下面将为大家介绍Windows系统下的TCP参数优化方式,适用于Windows 2003.W

Oracle 11g下自动创建分区

11g之前,维护分区需要手工.11g之后使用interval来实现自动扩展分区,简化了维护. 根据年  INTERVAL(NUMTOYMINTERVAL(1,'YEAR')) 根据月  INTERVAL(NUMTOYMINTERVAL(1,'MONTH')) 根据天  INTERVAL(NUMTODSINTERVAL(1,'DAY')) 下面用按月自动扩展来做个试验: SQL> create table t_range (id number not null PRIMARY KEY, test_

NSMutableURLRequest,在POST方式下传递参数

1. [代码][C/C++]代码         NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];     NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];        NSLog(@"Load currentCookie:%@", cookie);    [request setValue:cookie forHTTPHead

Oracle 11g下 ORA-01417的解决办法

今天有兄弟反馈,有一条SQL在12C上没有问题,在11g上就报错,报错内容是ORA-01417: 表可以外部连接到至多一个其他的表.分析了下SQL,抽象为下列的例子. 在12c下没有问题: SQL> select * from v$version; BANNER                                                                               CON_ID ---------------------------------

Oracle 11g下重现library cache lock等待事件

从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象.如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题. session1: SQL> select * from v$version; BANNER -------------------------------------------------------------