ANALYZE TABLE用于收集分布式部署中的表、AC或分区的统计信息,与之对应的是DBMS_STATS高级包的GATHER_TABLE_STATS程序。
对于组合分区表,不可指定收集某个分区/子分区,仅收集其GLOBAL级统计信息。
analyze table::=
语法图
代码
syntax::= ANALYZE TABLE table_name [(PARTITION partition_value|ESTIMATE_PERCENT estimate_value|BLOCK_SAMPLE block_value|METHOD_OPTION method_clause|PARALLEL_DEGREE parallel_value|GRANULARITY "'" graularity_value "'"|INDEX_CASCADE index_value)
{" " (PARTITION partition_value|ESTIMATE_PERCENT estimate_value|BLOCK_SAMPLE block_value|METHOD_OPTION method_clause|PARALLEL_DEGREE parallel_value|GRANULARITY "'" graularity_value "'"|INDEX_CASCADE index_value)}]
method_clause::=
语法图
代码
syntax::= "'" (FOR ALL COLUMNS [size_clause]
| FOR COLUMNS "(" (column_name) {"," (column_name)} ")" [size_clause]
) "'"
size_clause::=
语法图
代码
syntax::= SIZE (integer|AUTO)
按指定的分区名收集统计信息,可省略,则partition_value默认为NULL,表示不按分区,收集整张表信息,等同于在DBMS_STATS中高级包GATHER_TABLE_STATS的参数partname。
指定统计的采样率,可省略,等同于指定DBMS_STATS中高级包GATHER_TABLE_STATS的参数estimate_percent。
指定是否采用块级采样,默认为FALSE即行采样,可省略,等同于指定DBMS_STATS中高级包GATHER_TABLE_STATS的参数block_sample。
指定列统计信息选项,可省略,等同于指定DBMS_STATS中高级包GATHER_TABLE_STATS的参数method_option。
指定直方图信息,可省略,则默认为SIZE AUTO。
指定并行度,对于大表,增大并行度可以提升统计信息收集的效率,可省略,则parallel_value默认为1,等同于指定DBMS_STATS中高级包GATHER_TABLE_STATS的参数degree。
指定分区统计粒度,可省略,等同于指定DBMS_STATS中高级包GATHER_TABLE_STATS的参数granularity。
指定是否收集索引统计信息(true/false),可省略,则index_value默认为false,等同于指定DBMS_STATS中高级包GATHER_TABLE_STATS的参数cascade。
示例(分布式部署)
ANALYZE TABLE branches PARTITION NULL ESTIMATE_PERCENT 0.5 BLOCK_SAMPLE true
INDEX_CASCADE true METHOD_OPTION 'FOR COLUMNS (branch_no, area_no) SIZE AUTO'
GRANULARITY 'AUTO' PARALLEL_DEGREE 1;
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。