---
title: "ANALYZE - OceanBase 数据库 V4.4.2 | OceanBase 文档中心"
description: ANALYZE 描述 该语句用于收集表或表分区的统计信息。 语法 ANALYZE TABLE table_name UPDATE HISTOGRAM ON column_name_list WITH INT_NUM BUCKETS; 当租户级配置项 enable_sql_extension 为 TRUE 的时候，可以…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.4.2 LTS

# ANALYZE

更新时间：2026-07-16 20:01:47

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.4.2/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/2000.analyze-of-mysql-mode.md)  

## 描述

该语句用于收集表或表分区的统计信息。

## 语法

```sql
ANALYZE TABLE table_name UPDATE HISTOGRAM ON column_name_list WITH INT_NUM BUCKETS;

```

当租户级配置项 `enable_sql_extension` 为 `TRUE` 的时候，可以使用 Oracle 模式下的语法，如下:

```sql
ANALYZE TABLE table_name [use_partition] COMPUTE STATISTICS [ for_clause ];

use_partition:
    PARTITION (partition_name [,partition_name,....])
   | SUBPARTITION(subpartition_name, [,subpartition_name,...])

analyze_statistics_clause:
    COMPUTE STATISTICS [analyze_for_clause]
    | ESTIMATE STATISTICS [analyze_for_clause] [SAMPLE INTNUM {ROWS | PERCENTAGE}]

analyze_for_clause:
    FOR TABLE
    | FOR ALL [INDEXED | HIDDEN] COLUMNS [size_clause]
    | FOR COLUMNS [size clause] column [size_clause] [,column [size_clause]...]

size_clause:
    SIZE integer
    | SIZE REPEAT
    | SIZE AUTO
    | SIZE SKEWONLY

column:
    column_name
    | (column_name [, column_name])

```

## 参数解释

| 参数 | 描述 |
| --- | --- |
| table_name | 指定要分析的表。 |
| INT_NUM | 整数，即 Buckets 的个数。有关 Buckets 的取值，请参见 [method_opt](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005287972)。 |
| use_partition | 指定分区名，如果指定为表名，则不收集分区统计信息。 |
| compute_statistics_clause | 指定 `COMPUTE STATISTICS` 可以计算分析对象的精确统计信息，并将其存储在数据字典中。分析表时，会同时统计表和列的统计信息。 |
| for_clause | 指定要分析整个表，或者只分析特定的列。   - `FOR TABLE`：指定仅收集表的统计信息。 - `FOR COLUMNS`：指定仅收集指定列和标量对象属性列的统计信息。其中，`attribute` 指定对象中的特定列名。 - `FOR ALL COLUMNS`：指定收集所有列和标量对象属性列的统计信息。 - `FOR ALL INDEXED COLUMNS`：指定收集所有索引列的列统计信息。列统计信息可以基于完整的列，也可以通过指定 `SIZE` 使用直方图。 - `FOR ALL HIDDEN COLUMNS`：指定收集所有隐藏列的列统计信息。列统计信息可以基于完整的列，也可以通过指定 `SIZE` 使用直方图。 - `SIZE`：指定直方图中的最大存储桶数。取值范围是 [1,2048]，默认值是 `256`。 |
| estimate_statistics_clause | 指定 `ESTIMATE STATISTICS` 可以估计分析对象的统计信息，并将其存储在数据字典中。 |
| SAMPLE | 指定用于估计统计信息使用的分析对象中的采样数据量。如果省略该参数，则会根据数据库优化器自动选择一个合适的比例进行采样。   - `ROWS`：对表中的 `integer` 行进行采样。 - `PERCENT`：对表中行的 `integer` 百分比进行采样。 |

## 示例

- 收集 `test` 表的统计信息，列的桶个数为 30 个。

```sql
obclient> CREATE TABLE test (c1 NUMBER(30) PRIMARY KEY,c2 VARCHAR(50));
Query OK, 0 rows affected

obclient> ANALYZE TABLE test UPDATE HISTOGRAM ON c1,c2 with 30 buckets;
Query OK, 0 rows affected

```

- 当租户级配置项 `enable_sql_extension` 为 `TRUE` 的时候，使用 Oracle 模式下的语法收集用户 `user01` 的表 `test` 的统计信息，所有列的桶个数设定为 128。

```sql
obclient> ALTER SYSTEM SET enable_sql_extension = TRUE;
Query OK, 0 rows affected

obclient> ANALYZE TABLE test COMPUTE STATISTICS FOR ALL COLUMNS SIZE 128;
Query OK, 0 rows affected

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
