YashanDB ANALYZE SCHEMA语句

38 阅读1分钟

通用描述

ANALYZE SCHEMA用于收集指定用户下所有对象(表、AC、列、索引)的统计信息,与之对应的是DBMS_STATS高级包的GATHER_SCHEMA_STATS程序。

#语句定义

analyze schema::=

image.png

syntax::= ANALYZE SCHEMA OWNER [(ESTIMATE_PERCENT estimate_value|BLOCK_SAMPLE block_value|METHOD_OPTION method_clause|PARALLEL_DEGREE parallel_value|GRANULARITY "'" graularity_value "'"|INDEX_CASCADE index_value) 
{" " (ESTIMATE_PERCENT estimate_value|BLOCK_SAMPLE block_value|METHOD_OPTION method_clause|PARALLEL_DEGREE parallel_value|GRANULARITY "'" graularity_value "'"|INDEX_CASCADE index_value)}]

estimate_percent

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

#block_sample

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

#method_option

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

#parallel_degree

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

#granularity

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

#index_cascade

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

示例(分布式部署)

ANALYZE SCHEMA SALES ESTIMATE_PERCENT 1 BLOCK_SAMPLE TRUE METHOD_OPTION 'FOR ALL COLUMNS SIZE AUTO' PARALLEL_DEGREE 1 GRANULARITY 'ALL' INDEX_CASCA