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

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

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

# SET_TABLE_STATS

更新时间：2026-03-26 17:56:44

[编辑](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/3700.set-table-stats-oracle.md)  

`SET_TABLE_STATS` 过程用于设置表级的基本统计信息。

#### 功能适用性

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

## 语法

```sql
DBMS_STATS.SET_TABLE_STATS (
  ownname         VARCHAR2,
  tabname         VARCHAR2,
  partname        VARCHAR2 DEFAULT NULL,
  numrows         NUMBER   DEFAULT NULL,
  numblks         NUMBER   DEFAULT NULL,
  avgrlen         NUMBER   DEFAULT NULL,
  no_invalidate      BOOLEAN DEFAULT FALSE,
  force              BOOLEAN DEFAULT FALSE);

```

## 参数解释

| 参数 | 解释 |
| --- | --- |
| ownname | 用户名。如果用户名设置为 `NULL`，会默认使用当前登录用户名。 |
| tabname | 表的名称。 |
| partname | 存储统计信息的表分区的名称。如果表已分区且 `partname` 为 `NULL`，则统计信息存储在全局表级别。 |
| numrows | 表级的总行数。 |
| numblks | 表级占用的块数。 |
| avgrlen | 列级的平均长度（以字节为单位）。 |
| no_invalidate | 收集统计信息是否刷 Plan Cache。设置为 `TRUE` 表示收集统计信息时不刷 Plan Cache。 |
| force | 是否强制收集，并忽略锁的状态。默认为 `FALSE`。如果设置为 `TRUE`，即使统计信息被锁定，也会收集统计信息。 |

## 异常情况

| 错误码 | 描述 |
| --- | --- |
| OBE-20000 | 对象不存在或权限不足。 |
| OBE-20001 | 无效或不一致的输入值。 |
| OBE-20005 | 该对象的统计信息被锁定。 |

## 使用说明

- 要调用此过程，必须是表的所有者；对于使用由 `SYS` 所拥有的对象，需要是表的所有者或具有 `SYSDBA` 权限才能调用此过程。
 - 优化器通过缓存数据来估计索引或统计表访问的缓存块数。操作的总成本包括从磁盘读取未缓存块的 I/O 成本、从缓冲区中获取缓存块的 CPU 成本以及处理数据的 CPU 成本。
 - 对于取值为 `TRUE` 和 `FALSE` 的参数，需要在 `BEGIN ... END` 块中执行该过程。

## 示例

置用户 `testUser01` 的表 `tbl1` 的总行数为一万行。

```sql
obclient> BEGIN
    DBMS_STATS.SET_TABLE_STATS('testUser01', 'tbl1', numrows=>10000, force=>FALSE, 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) 咨询热线
