---
title: "GATHER_TABLE_STATS - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: GATHER_TABLE_STATS GATHER_TABLE_STATS 过程用于收集表和列的统计信息。 功能适用性 该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。 语法 DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2,…
---
切换语言

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

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

# GATHER_TABLE_STATS

更新时间：2026-03-30 08:38:06

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/700.reference/600.pl-reference/300.pl-oracle/1400.pl-system-package-oracle/15900.dbms-stats-oracle/1700.gather-table-stats-oracle.md)  

`GATHER_TABLE_STATS` 过程用于收集表和列的统计信息。

#### 功能适用性

该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。

## 语法

```sql
DBMS_STATS.GATHER_TABLE_STATS (
  ownname             VARCHAR2,
  tabname             VARCHAR2,
  partname            VARCHAR2 DEFAULT NULL,
  estimate_percent    NUMBER DEFAULT AUTO_SAMPLE_SIZE,
  block_sample        BOOLEAN  DEFAULT FALSE,
  method_opt          VARCHAR2 DEFAULT DEFAULT_METHOD_OPT,
  degree              NUMBER   DEFAULT to_degree_type(get_param('DEGREE')),
  granularity         VARCHAR2 DEFAULT DEFAULT_GRANULARITY,
  cascade             BOOLEAN DEFAULT NULL,
  no_invalidate       BOOLEAN DEFAULT FALSE,
  stattype            VARCHAR2 DEFAULT 'DATA',
  force               BOOLEAN DEFAULT FALSE,
  hist_est_percent    NUMBER DEFAULT AUTO_SAMPLE_SIZE,
  hist_block_sample   BOOLEAN DEFAULT NULL
  );

```

## 参数说明

| 参数 | 解释 |
| --- | --- |
| ownname | 用户名。如果用户名设置为 `NULL`，会默认使用当前登录用户名。 |
| tabname | 表名称。 |
| partname | 分区名称。 |
| estimate_percent | 预估行的百分比。 有效范围为 [0.000001,100]。 |
| block_sample | 确定数据库是使用随机块抽样 (`TRUE`) 还是随机行抽样 (`FALSE`)。 默认值为 `FALSE`。 随机块采样效率更高，但如果数据不是随机分布在磁盘上，那么样本值可能存在相关性。 |
| method_opt | 在全局、Schema、数据库或字典级别设置首选项时，只允许使用 `FOR ALL` 语法。除此之外，`method_opt` 只能为以下选项之一，或两者的组合：   - `FOR ALL [INDEXED \\| HIDDEN] COLUMNS [size_clause]` - `FOR COLUMNS [column_clause]` 其中，`size_clause` 定义为 `size_clause := SIZE {integer \\| REPEAT \\| AUTO \\| SKEWONLY}`。 `column_clause` 定义为 `column_clause := column_name \\| extension name \\| extension`。 - `integer`：直方图 Bucket 的数量。有效范围为 [1,2048]。 - `REPEAT`：仅在已有直方图的列上收集直方图。 - `AUTO`：根据数据分布和列的工作负载确定要收集直方图的列。 - `SKEWONLY`：根据列的数据分布确定收集直方图的列。 - `column_name`：列名。 - `extension`：可以是 `(column_name, colume_name [, ...])` 格式的列组或表达式。 默认值为 `FOR ALL COLUMNS SIZE AUTO`。 |
| degree | 并行度。默认值是 `NULL`。`NULL` 表示使用由 `CREATE TABLE` 或 `ALTER TABLE` 语句中的 `DEGREE` 子句指定的表默认值。当使用 `DEGREE=>NULL`、`DEGREE=>n` 时，如果对象的大小不保证实现并行执行，则 `DBMS_STATS` 可能会使用串行执行。 |
| granularity | 要收集的统计信息的粒度（仅适用于当表已分区时）。   - `ALL`：收集所有（子分区、分区和全局）统计信息。 - `APPROX_GLOBAL AND PARTITION`： 类似于 `GLOBAL AND PARTITION`，但在这种情况下，全局统计信息是分区级别统计信息的汇总。此选项将汇总不同值的数量和索引不同键的数量之外的所有统计信息。但只汇总带有统计信息的分区。如果 `partname` 为 `NULL` 或无法执行汇总（例如缺少其中一个分区的统计信息），则会收集全局统计信息。 - `AUTO`：根据分区类型确定粒度。是默认值。 - `DEFAULT`：收集全局和分区级别的统计信息。此选项已废弃，建议使用 `GLOBAL AND PARTITION`。 - `GLOBAL`：收集全局统计数据。 - `GLOBAL AND PARTITION`：收集全局和分区级别的统计信息。即使是复合分区对象，也不会收集子分区级别的统计信息。 - `PARTITION`：收集分区级别的统计信息。 - `SUBPARTITION`：收集子分区级别的统计信息。 |
| cascade | 除了收集表和列统计信息之外，还会收集有关索引的统计信息，等效于在 Schema 中的每个索引上运行 `GATHER_INDEX_STATS` 过程。 |
| no_invalidate | 收集统计信息时是否刷 Plan Cache。设置为 `TRUE` 表示收集统计信息时不刷 Plan Cache。 |
| stattype | 当前统计信息所存储的位置。 |
| force | 是否强制收集，并忽略锁的状态。默认为 `FALSE`。 如果设置为 `TRUE`，即使统计信息被锁定，也会收集统计信息。 |
| hist_est_percent | 指定直方图的采样比例。 |
| hist_block_sample | 指定直方图的采样方式。 |

## 异常情况

| 错误码 | 描述 |
| --- | --- |
| OBE-20000 | 表不存在或权限不足。 |
| OBE-20001 | 输入值错误。 |

## 使用说明

要调用此过程，必须是表的所有者。对于使用由 `SYS` 所拥有的对象，需要是表的所有者或具有 `SYSDBA` 权限才能调用此过程。

需要注意的是，对于取值为 `TRUE` 和 `FALSE` 的参数，需要在 `BEGIN ... END` 块中执行该过程。

## 示例

收集用户 `testUser01` 的 `tbl1` 表的统计信息。

```sql
obclient> BEGIN
            DBMS_STATS.GATHER_TABLE_STATS('testUser01', 'tbl1', method_opt=>'FOR ALL COLUMNS SIZE 5', granularity=>'ALL', degree=>4, no_invalidate=>FALSE);
         END;
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) 咨询热线
