YashanDB ANALYZE DATABASE函数

32 阅读2分钟

ANALYZE DATABASE

#通用描述

ANALYZE DATABASE用于收集数据库的统计信息,与之对应的是DBMS_STATS高级包的GATHER_DATABASE_STATS程序。

#语句定义

analyze database::=

image.png

syntax::= ANALYZE DATABASE [(OPTIONS options|ESTIMATE_PERCENT estimate_value|BLOCK_SAMPLE block_value|PARALLEL_DEGREE parallel_value|METHOD_OPTION method_clause|GRANULARITY "'" graularity_value "'"|INDEX_CASCADE index_value|GATHER_SYS gather_sys_value) 
{" " (OPTIONS options|ESTIMATE_PERCENT estimate_value|BLOCK_SAMPLE block value|PARALLEL_DEGREE parallel_value|METHOD_OPTION method_clause|GRANULARITY "'" graularity_value "'"|INDEX_CASCADE index_value|GATHER_SYS gather_sys_value)}]

options

数据库统计信息收集选项,可省略,则为GATHER AUTO,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数options。

#estimate_percent

指定统计的采样率,可省略,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数estimate_percent。

#block_sample

指定是否采用块级采样,默认为FALSE即行采样,可省略,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数block_sample。

#parallel_degree

指定并行度,对于大表,增大并行度可以提升统计信息收集的效率,可省略,则parallel_value默认为1,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数degree。

#method_option

指定列统计信息选项,可省略,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数method_option。

#granularity

指定分区统计粒度,可省略,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数granularity。

#index_cascade

指定是否收集索引统计信息(true/false),可省略,则index_value默认为false,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数cascade。

#gather_sys

指定是否收集系统表的统计信息(true/false),可省略,则默认为false,等同于指定DBMS_STATS中高级包GATHER_DATABASE_STATS的参数gather_sys。

示例(分布式部署)

ANALYZE DATABASE OPTIONS 'GATHER AUTO' ESTIMATE_PERCENT 1 PARALLEL_DEGREE 2 METHOD_OPTION 'FOR ALL COLUMNS SIZE AUTO' GRANULARITY 'AUTO' INDE