默认新建表存储块空闲度百分比(block_pctfree)
📄字数 495
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
数据页的默认预留空间百分比。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | INTEGER |
| 默认值 | 15 |
| 取值范围 | [0, 99] |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
- 该参数控制新建对象使用堆存储时需要给数据页预留的默认空间百分比(创表语句若显式指定数据页的默认预留空间,则优先使用指定的值)。
注意
- 该参数适用于堆表/临时表/全局临时表。
- 在线修改 block_pctfree 不会影响存量表。
- 支持访问系统表 SYSDBA.SYS_TABLES 的 PCTFREE 字段查看各个表对象的数据页默认预留空间。
- 该参数值过大会造成空间浪费,过小可能导致数据行访问产生多次IO,需要根据行数据长度的分布合理配置。
示例
sql
-- 在线修改 block_pctfree
SQL> SET block_pctfree TO 15;
-- 在线查看 block_pctfree
SQL> SHOW block_pctfree;
/*
* 场景一:
* 1. block_pctfree = 15;
* 2. 数据库单机环境;
*/
SQL> CREATE TABLE t1(c1 INTEGER) PCTFREE 40; -- 新建表对象 t1 存储块空闲度百分比为 40%