Home > Database > Mysql Tutorial > Oracle 收集统计值 收集统计信息

Oracle 收集统计值 收集统计信息

WBOY
Release: 2016-06-07 16:46:55
Original
1528 people have browsed it

--收集Oracle统计信息BEGIN DBMS_STATS.GATHER_TABLE_STATS(OWNNAME =gt;

--收集Oracle统计信息
BEGIN
  DBMS_STATS.GATHER_TABLE_STATS(OWNNAME          => 'OWNER_NAME',  --数据库用户名
                                TABNAME          => 'TABLE_NAME',  --表名
                                PARTNAME        => 'PARTITION_NAME',  --分区名
                                ESTIMATE_PERCENT => DBMS_STATS.AUTO_SAMPLE_SIZE,
                                METHOD_OPT      => 'for all columns size repeat',
                                DEGREE          => DBMS_STATS.AUTO_DEGREE,
                                CASCADE          => TRUE);
END;

--查询表的统计信息
SELECT *
  FROM DBA_TAB_STATISTICS S
 WHERE S.OWNER = 'OWNER_NAME'  --数据库用户名
  AND S.TABLE_NAME = 'TABLE_NAME'  --表名
 ORDER BY S.LAST_ANALYZED DESC;


--Oracle统计信息
DBMS_STATS.gather_table_stats
    (ownname varchar2,
    tabname varchar2,
    partname varchar2 default null,
    estimate_percent number default  to_estimate_percent_type(get_param('ESTIMATE_PERCENT')),
    block_sample boolean default FALSE,
    method_opt varchar2 default get_param('METHOD_OPT'),
    degree number default to_degree_type(get_param('DEGREE')),
    granularity varchar2 default get_param('GRANULARITY'),
    cascade boolean default to_cascade_type(get_param('CASCADE')),
    stattab varchar2 default null, statid varchar2 default null,
    statown varchar2 default null,
    no_invalidate boolean default to_no_invalidate_type(get_param('NO_INVALIDATE')),
    stattype varchar2 default 'DATA',
    force boolean default FALSE);

/*
参数说明:
ownname:  要分析表的拥有者
tabname:  要分析的表名.
partname: 分区的名字,只对分区表或分区索引有用.
estimate_percent:采样行的百分比,取值范围[0.000001,100],null为全部分析,不采样. 常量:DBMS_STATS.AUTO_SAMPLE_SIZE是默认值,由oracle决定最佳取采样值.
block_sapmple:是否用块采样代替行采样.
method_opt:    决定histograms信息是怎样被统计的.method_opt的取值如下:
for all columns:统计所有列的histograms.
for all indexed columns:统计所有indexed列的histograms.
for all hidden columns:统计你看不到列的histograms
for columns SIZE | REPEAT | AUTO | SKEWONLY:
                                              统计指定列的histograms.N的取值范围[1,254]; R
                                              EPEAT上次统计过的histograms;
                                              AUTO由oracle决定N的大小;
                                              SKEWONLY multiple end-points with the same value which is what we define by "
                                                        there is skew in the data
degree:              设置收集统计信息的并行度.默认值为null.
granularity:Granularity of statistics to collect ,only pertinent if the table is partitioned.
cascade:      是收集索引的信息.默认为falase.
stattab        指定要存储统计信息的表,statid如果多个表的统计信息存储在同一个stattab中用于进行区分.statown存储统计信息表的拥有者.以上三个参数若不指定,
                    统计信息会直接更新到数据字典.
no_invalidate: Does not invalidate the dependent cursors if set to TRUE. The procedure invalidates the dependent cursors
                        immediately if set to FALSE.
force:        即使表锁住了也收集统计信息

*/
--例子:
execute dbms_stats.gather_table_stats(ownname => 'owner',
                                      tabname => 'table_name' ,
                                      estimate_percent => null ,
                                      method_opt => 'for all indexed columns' ,
                                      cascade => true);
--GATHER_INDEX_STATS
--==========================
BEGIN
SYS.DBMS_STATS.GATHER_INDEX_STATS (OwnName => 'ABC',
                                  IndName => 'IDX_FUNC_ABC',
                                  Estimate_Percent => 10,
                                  Degree => SYS.DBMS_STATS.DEFAULT_DEGREE,
                                  No_Invalidate => FALSE);
END;

linux

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template