---
title: "GATHER_CATALOG_TABLE_STATS - OceanBase 数据库 V5.0.1 | OceanBase 文档中心"
description: GATHER_CATALOG_TABLE_STATS GATHER_CATALOG_TABLE_STATS 用于收集 Catalog 中外表统计信息。 说明 该子程序从 V5.0.1 版本开始引入。 语法 DBMS_STATS.GATHER_CATALOG_TABLE_STATS ( catname VARCHAR(…
---
切换语言

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

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

# GATHER_CATALOG_TABLE_STATS

更新时间：2026-07-29 10:39:51

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V5.0.1/zh-CN/700.reference/600.pl-reference/200.pl-mysql/1000.pl-system-package-mysql/15900.dbms-stats-mysql/1520.gather_catalog_table_stats-of-mysql-mode.md)  

`GATHER_CATALOG_TABLE_STATS` 用于收集 Catalog 中外表统计信息。

#### 说明

该子程序从 V5.0.1 版本开始引入。

## 语法

```sql
DBMS_STATS.GATHER_CATALOG_TABLE_STATS (
    catname            VARCHAR(65535),
    dbname             VARCHAR(65535),
    tabname            VARCHAR(65535),
    partname           VARCHAR(65535) DEFAULT NULL,
    estimate_percent   DECIMAL(30, 10) DEFAULT AUTO_SAMPLE_SIZE,
    sample_type        VARCHAR(65535) DEFAULT NULL,
    method_opt         VARCHAR(65535) DEFAULT DEFAULT_METHOD_OPT,
    degree             DECIMAL(30, 10) DEFAULT NULL,
    granularity        VARCHAR(65535) DEFAULT DEFAULT_GRANULARITY,
    force              BOOLEAN DEFAULT FALSE
    );

```

## 参数说明

| **参数** | **解释** |
| --- | --- |
| catname | 指定 Catalog 名称。 |
| dbname | 指定 Database 名称。 |
| tabname | 指定表名称。 |
| partname | 指定分区名称。`NULL` 表示全表。 |
| estimate_percent | 指定采样百分比。100 表示全量扫描。 |
| sample_type | 指定采样方式，取值如下：   - 空字符串 `''` 或 `NULL`：表示不显式指定采样方式，系统会依据底层存储进行适配。 - `ROW`：表示行采样，以行为单位进行采样。`CSV` 格式特有的采样方式。 - `BLOCK`：表示块采样，以文件中最小的逻辑存储单元为单位进行采样。      - 对于 Parquet 格式，最小单位是 Page（页），因此采样以 Page 为单位。     - 对于 ORC 格式，最小单位是 Row Group（行组），因此采样以 Row Group 为单位。 - `FILE`：表示文件采样，即对整个文件作为一个整体进行采样。 |
| method_opt | 指定列统计收集方法，默认值为 `FOR ALL COLUMNS SIZE AUTO`。只允许使用 `FOR ALL` 语法，具体格式可参考下文 [method_opt](#method_opt)。 |
| degree | 指定并行度。`NULL` 表示使用默认值。 |
| granularity | 指定收集粒度，取值如下：   - `DEFAULT`：收集全局和分区级别的统计信息。 - `GLOBAL`：收集全局统计数据。 - `PARTITION`：收集分区级别的统计信息。 - `ALL`：收集所有（子分区、分区和全局）统计信息。 |
| force | 指定是否强制收集（忽略统计信息锁定和新鲜度检测）。 |

### method_opt

`method_opt` 只能为以下选项之一，或两者的组合：

- `FOR ALL COLUMNS [size_clause]`：其中 `size_clause` 定义为 `size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}`。

     - `integer`：直方图 Bucket 的数量。有效范围为 [1,2048]。
     - `REPEAT`：仅在已有直方图的列上收集直方图。
     - `AUTO`：根据数据分布和列的工作负载确定要收集直方图的列。
     - `SKEWONLY`：根据列的数据分布确定收集直方图的列。
 - `FOR COLUMNS [column_clause]`：其中 `column_clause` 定义为 `column_clause := column_name | extension`。

     - `column_name`：列名。
     - `extension`：可以是 `(column_name, colume_name [, ...])` 格式的列组或表达式。

## 示例

收集 Catalog 名称 `hive_catalog` 和 Database 名称 `test_oss` 下表 `lineitem` 的统计信息，其中：

- 分区名设置为 `NULL`，表示全表。
 - 采样百分比设置为 100，表示全量。
 - 采样方式设置为 `BLOCK`，表示块采样。
 - 列统计收集方法设置为 `NULL`，表示使用默认。
 - 并行度设置为 32。

```shell
obclient> CALL DBMS_STATS.GATHER_CATALOG_TABLE_STATS (
    'hive_catalog',
    'test_oss',
    'lineitem',
    NULL,
    100,
    'BLOCK',
    NULL,
    32
);

```

 上一篇 下一篇 ![有帮助](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) 咨询热线
