[20130328]dbms_stats.seed_col_usage的使用2.txt

简介: [20130328]dbms_stats.seed_col_usage的使用2.txt对昨天dbms_stats.seed_col_usage的使用做一些补充。SQL> exec dbms_stats.
[20130328]dbms_stats.seed_col_usage的使用2.txt

对昨天dbms_stats.seed_col_usage的使用做一些补充。

SQL> exec dbms_stats.reset_col_usage(NULL,NULL)
PL/SQL procedure successfully completed.

-- This procedure deletes the recorded column (group) usage information
-- from dictionary. Column (group) usage information is used by gather
-- procedures to automatically determine the columns that require histograms.
-- Also this information is used by create_extended_stats to create extensions
-- for the group of columns seen in the workload. So resetting column usage
-- will affect these functionalities. This procedure should be used only in very
-- rare cases where you need to start from scratch and need to seed
-- column usage all over again.

在做1次10046跟踪看看,这些信息记录在那个表。

alter session set events '10046 trace name context forever, level 12';
exec dbms_stats.seed_col_usage(null,null,100);
Select * from t1 where id2=3 and name='test';
Select * from t1 where id2=3 and name='test';
Select * from t1 where id2=3 and name='test';
select dbms_stats.report_col_usage(user,'t1') from dual ;
alter session set events '10046 trace name context off';


检查跟踪文件发现:
/* Formatted on 2013/03/28 15:14 (Formatter Plus v4.8.8) */
MERGE INTO SYS.col_group_usage$ d
   USING (SELECT :1 obj#, :2 cols
            FROM DUAL) s
   ON (d.obj# = s.obj# AND d.cols = s.cols)
   WHEN MATCHED THEN
      UPDATE
         SET d.TIMESTAMP = :3, d.flags = d.flags + :4 - BITAND (d.flags, :4)
   WHEN NOT MATCHED THEN
      INSERT (obj#, cols, TIMESTAMP, flags)
      VALUES (:1, :2, :3, :4)

看看文件内容:

SQL> column cols format a30
SQL> select * from SYS.col_group_usage$;
      OBJ# COLS                           TIMESTAMP                FLAGS
---------- ------------------------------ ------------------- ----------
    273081 2,3                            2013-03-28 15:12:12          1

SQL> select * from dba_objects where object_id=273081;
OWNER  OBJECT_NAME          SUBOBJECT_  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE         CREATED             LAST_DDL_TIME       TIMESTAMP           STATUS  T G S  NAMESPACE EDITION_NAME
------ -------------------- ---------- ---------- -------------- ------------------- ------------------- ------------------- ------------------- ------- - - - ---------- ------------------------------
SCOTT  T1                                  273081         273081 TABLE               2013-03-27 17:12:13 2013-03-28 14:46:24 2013-03-28:14:46:24 VALID   N N N          1

--可以确定就是T1表的2,3字段。

目录
相关文章
|
SQL Oracle 关系型数据库
|
算法 Oracle 关系型数据库
DBMS_STATS.AUTO_SAMPLE_SIZE的值是什么?
昨天类总在微信公众号,给我留言, 这是2014年写的一篇文章(http://blog.csdn.net/bisal/article/details/18910785#reply),看了一下,当时的实验和说明是, SQL> exec dbms_stats.gather_table_stats(ownname=>'SYS', tabname=>'T2');PL/SQL procedure successfully completed. 查询dba_tables表,看到NUM_ROWS值是11218,说明此处采样比例是100%。
1230 0
|
SQL Oracle 关系型数据库
[20170625]12c Extended statistics.txt
[20170625]12c Extended statistics.txt --//别人的系统12c,awr报表出现大量调用执行如下sql语句. select default$ from col$ where rowid=:1; --//google看了一下,问题出在Extended statistics的问题,12c 会自动收集扩展统计信息.
1158 0
|
SQL 数据库
LOW_VALUE、HIGH_VALUE、ENDPOINT_VALUE转换--UTL_RAW、DBMS_STATS.CONVERT_RAW_VALUE
LOW_VALUE、HIGH_VALUE、ENDPOINT_VALUE的转换--UTL_RAW、HEXSTR、DBMS_STATS.CONVERT_RAW_VALUE的使用 直方图ENDPOINT_VALUE转换:首先准备基础表:CREATE T...
1239 0
|
存储 Oracle 关系型数据库
|
SQL Oracle 关系型数据库
[20150608]dbms_random.value.txt
[20150608]dbms_random.value.txt --11.2.0.3与11.2.0.4下,调用dbms_random.value存在很大的差异,测试看看: SCOTT@test> @ver1 PORT_STRING            ...
967 0
|
存储 SQL 关系型数据库
DBMS_STATS.GATHER_TABLE_STATS
由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要! 作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数、数据块数、行长等信息;列的分析--列值的重复数、列上的空值、数据在列上的分布情况;索引的分析-索引页块的数量、索引的深度、索引聚合因子).
2055 0