ANALYZE | ANALYSE

功能描述

用于收集与数据库中普通表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC下。执行计划生成器会使用这些统计数据,以确定最有效的执行计划。

如果没有指定参数,ANALYZE会分析当前数据库中的每个表和分区表。同时也可以通过指定table_name、column和partition_name参数把分析限定在特定的表、列或分区表中。

ANALYZE|ANALYSE VERIFY用于检测数据库中普通表(行存表、列存表)的数据文件是否损坏。

注意事项

ANALYZE ANALYSE - 图1 说明: 注意事项可见ANALYZE。

语法格式

  • 收集表的统计信息

1. {ANALYZE | ANALYSE} [ VERBOSE ] [ NO_WRITE_TO_BINLOG | LOCAL ] TABLE { [schema.]table_name } [, ... ]

参数说明

  • NO_WRITE_TO_BINLOG | LOCAL

仅作语法,无实际用途

ANALYZE ANALYSE - 图2 说明: 涉及的参数可见ANALYZE。

示例

— 创建表。

1. openGauss=# CREATE TABLE customer_info
2. (
3. WR_RETURNED_DATE_SK       INTEGER                       ,
4. WR_RETURNED_TIME_SK       INTEGER                       ,
5. WR_ITEM_SK                INTEGER               NOT NULL,
6. WR_REFUNDED_CUSTOMER_SK   INTEGER
7. )
8. ;

— 创建分区表。

1. openGauss=# CREATE TABLE customer_par
2. (
3. WR_RETURNED_DATE_SK       INTEGER                       ,
4. WR_RETURNED_TIME_SK       INTEGER                       ,
5. WR_ITEM_SK                INTEGER               NOT NULL,
6. WR_REFUNDED_CUSTOMER_SK   INTEGER
7. )
8. PARTITION BY RANGE(WR_RETURNED_DATE_SK)
9. (
10. PARTITION P1 VALUES LESS THAN(2452275),
11. PARTITION P2 VALUES LESS THAN(2452640),
12. PARTITION P3 VALUES LESS THAN(2453000),
13. PARTITION P4 VALUES LESS THAN(MAXVALUE)
14. )
15. ENABLE ROW MOVEMENT;

— 使用ANALYZE语句更新统计信息。

1. openGauss=# ANALYZE TABLE customer_info, customer_par;
2. Table         |   Op    | Msg_type | Msg_text
3. ----------------------+---------+----------+----------
4. public.customer_info | analyze | status   | OK
5. public.customer_par  | analyze | status   | OK
6. (2 row)

— 删除表。

1. openGauss=# DROP TABLE customer_info;
2. openGauss=# DROP TABLE customer_par;

相关链接

ANALYZE