首批通过分布式安全可靠测评,为关键业务系统打造
default_table_merge_engine
更新时间:2026-06-19 15:13:07
说明
- 对于 OceanBase 数据库 V4.3.5 版本,该配置项从 V4.3.5 BP3 版本开始引入。
- 对于 OceanBase 数据库 V4.4.x 版本,该配置项从 V4.4.0 版本开始引入。
功能描述
default_table_merge_engine 配置项用于指定用户租户默认创建表的 merge_engine。
权限要求
查询配置项
sys租户和所有用户租户均可以使用SHOW PARAMETERS语句或视图GV$OB_PARAMETERS查询该配置项。修改配置项
sys租户和用户租户均可修改该配置项。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | String |
| 默认值 | partial_update |
| 取值范围 |
说明对于 V4.6.x 版本, |
| 是否可修改 | 是,支持通过 ALTER SYSTEM SET 语句修改。 |
| 是否重启 OBServer 节点生效 | 否,设置后立即生效。 |
使用说明
配置项 default_table_merge_engine 只会影响用户租户创建主表的默认格式,meta 租户和 sys 租户不影响。并且只在建表语句中没有显示指定 merge_engine 的情况下生效,若用户显式指定了表的 merge_engine,最终表的 merge_engine 按用户指定格式进行解析。
该配置项可以设置为以下值:
partial_update:若建表语句中没有指定merge_engine,用户租户建表的merge_engine = partial_update,该模式存储更省,适用于 OLTP 场景。delete_insert:若建表语句中没有指定merge_engine,用户租户建表的merge_engine = delete_insert,该模式对查询更优,适用于 OLAP 场景。append_only:若建表语句中没有指定merge_engine,用户租户建表的merge_engine = append_only,该模式下仅写入数据,不允许修改数据,适用于 IoT、监控、金融交易等场景,该模式下如果要做过期数据清理可以使用 TTL 功能。
配置示例
用户租户创建表默认
merge_engine = partial_update,在建表语句中自动添加merge_engine = partial_update。obclient> ALTER SYSTEM SET default_table_merge_engine = 'partial_update';用户租户创建表默认
merge_engine = delete_insert,在建表语句中自动添加merge_engine = delete_insert。obclient> ALTER SYSTEM SET default_table_merge_engine = 'delete_insert';