标签:int 避免 global 数据库 包含 glob 进一步 type 表达
可以使用Oracle内置的程序包DBMS_STATS来查看或修改搜集的数据库统计信息,本篇主要介绍GATHER_TABLE_STATS过程,通过该过程,可以搜集表和列(或索引)的统计信息。
dbms_stats.gather_table_stats(ownname varchar2,
tabname varchar2,
partname varchar2 default null,
estimate_percent number default default_estimate_percent,
block_sample boolean default false,
method_opt varchar2 default default_method_opt,
degree number default default_degree_value,
granularity varchar2 default default_granularity,
cascade boolean default default_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,
-- the context is intended for internal use only.
context dbms_stats.ccontext default null,
options varchar2 default default_options);
标红的是比较常用的参数。
重点介绍下面几个参数。
method_opt对应的值有如下两者或者两者的结合,默认值是FOR ALL COLUMNS SIZE AUTO:
size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}
column_clause := column_name | extension name | extension
其中,
该参数设置并行度,默认是NULL,意味着使用建表时默认设置的并行度,通过设置并行度,可以提高执行的效率。
该参数设置要收集的统计信息的粒度(只在分区表时使用)。值包含:
对于分区表,建议设置该参数值为ALL。
该参数在收集表的统计信息的同时,也会收集索引统计信息,使用此选项等效于运行GATHER_INDEX_STATS过程。
该参数值若设为TRUE,则与该表相关联的游标不会失效,设置为FALSE,则会使对应的游标立即失效,在大批量数据操作,重新收集统计信息时,建议将该参数设置为FALSE,避免因为收集了统计信息,从而使原来的SQL选择错误的执行计划。
该参数值进一步说明哪些对象收集统计信息,参数值包含:
【12c】Oracle 统计信息搜集工具DBMS_STATS介绍
标签:int 避免 global 数据库 包含 glob 进一步 type 表达
原文地址:https://www.cnblogs.com/alen-liu-sz/p/12975552.html