---
title: "配置统计信息的收集策略 - OceanBase 数据库 V4.2.2 | OceanBase 文档中心"
description: 配置统计信息的收集策略 通过前面的章节可以知道，当用户收集统计信息时，不指定收集 option 时，会使用默认的 option ，比如收集的并行度、收集的粒度、收集直方图桶个数配置等等。目前 OceanBase 数据库优化器支持用户根据业务实际情况去修改默认的 option ，也即收集策略的 Preferences，…
---
切换语言

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

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

# 配置统计信息的收集策略

更新时间：2026-04-10 11:58:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.2/zh-CN/600.manage/900.performance-tuning/400.sql-tuning/200.execution-plan-optimization/100.statistics-and-cost-based-optimization/200.statistic-information/400.manage-statistic-information/600.configure-statistic-information-collection-strategy.md)  

通过前面的章节可以知道，当用户收集统计信息时，不指定收集 `option` 时，会使用默认的 `option`，比如收集的并行度、收集的粒度、收集直方图桶个数配置等等。目前 OceanBase 数据库优化器支持用户根据业务实际情况去修改默认的 `option`，也即收集策略的 Preferences，下文简称 “Prefs”。

下表列出了当前优化器支持的收集策略 Prefs。

| Prefs 名称 | Prefs 默认值 | 描述 |
| --- | --- | --- |
| APPROXIMATE_NDV | TRUE | 计算 NDV 是否使用估算方式 |
| CASCADE | DBMS_STATS.AUTO_CASCADE(默认值) | 是否启用级联，如收集表级统计信息时同时收集索引信息 |
| DEGREE | NULL，即并发度为 1 | 收集并发度 |
| ESTIMATE_PERCENT | DBMS_STATS.AUTO_SAMPLE_SIZE | 收集采样比例 |
| GRANULARITY | AUTO | 收集分区粒度 |
| INCREMENTAL | FALSE | 是否采用增量收集策略 |
| METHOD_OPT | FOR ALL COLUMNS SIZE AUTO | 设置列级别直方图收集策略 |
| STALE_PERCENT | 10 | 统计信息过期百分比阈值 |
| STATS_RETENTION | 31 | 统计信息历史保留的间隔时间 |

通过调用一下 `DBMS_STATS` 系统包 PROCEDURE 可以查询修改收集策略的 Prefs。

- `GET_PARAM`：获取 Prefs 设置的 value。
 - `GET_PREFS`：获取 Prefs 设置的 value。
 - `RESET_GLOBAL_PREF_DEFAULTS`：还原当前租户的收集策略的 Prefs 为默认值。
 - `RESET_PARAM_DEFAULTS`：同上。
 - `SET_GLOBAL_PREFS`：设置当前租户的 Prefs。
 - `SET_PARAM`：同上。
 - `SET_SCHEMA_PREFS`：设置 schema 下的所有表的 Prefs。
 - `SET_TABLE_PREFS`：设置表的 Prefs。
 - `DELETE_SCHEMA_PREFS`：删除设置 schema 下的所有表的 Prefs。
 - `DELETE_TABLE_PREFS`：删除设置表的 Prefs。

```
#设置租户级别的 APPROXIMATE_NDV 值为 FALSE
call dbms_stats.set_global_prefs('APPROXIMATE_NDV', 'FALSE');

#查询当前租户的 APPROXIMATE_NDV 设置值
select dbms_stats.get_prefs('APPROXIMATE_NDV') from dual;

#还原全局级别的所有 Prefs 默认值
call reset_global_pref_defaults();

#设置用户 TEST 的 T1 的收集策略的 DEGREE 值为 128
call dbms_stats.set_table_prefs('TEST', 'T1', 'degree', '128');

#查询用户 TEST 的 T1 的收集策略的默认 DEGREE 值
select dbms_stats.get_prefs('degree', 'TEST', 'T1') from dual;

#删除用户 TEST 的 T1 表的首选项 DEGREE
call dbms_stats.delete_table_prefs('TEST', 'T1', 'DEGREE');

```

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