首批通过分布式安全可靠测评,为关键业务系统打造
ob_vector_memory_limit_percentage
更新时间:2026-05-29 17:39:41
说明
该配置项从 V4.3.3 版本开始引入。
功能描述
ob_vector_memory_limit_percentage 用于配置向量索引模块对内存资源占用的阈值。
功能适用性
该配置项仅适用于 OceanBase 数据库 MySQL 模式。
权限要求
查询配置项
sys租户和 MySQL 用户租户均可以使用SHOW PARAMETERS语句或视图GV$OB_PARAMETERS查询该配置项。修改配置项
sys租户和 MySQL 用户租户都可修改该配置项。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | Int |
| 默认值 | 0,单位为百分比
说明V4.4.1 之前的版本,该配置项默认值含义为不为向量索引分配内存,即关闭向量检索功能。
|
| 取值范围 | [0, 100)。实际最大值是 85 - Memstore(即 memstore_limit_percentage 值)。当 memstore_limit_percentage 参数设置为 0(默认值)时,系统会自动计算 MemStore 内存占比。自动计算规则:
|
| 是否可修改 | 是,支持通过 ALTER SYSTEM SET 语句修改。 |
| 是否重启 OBServer 节点生效 | 否,设置后立即生效。 |
使用说明
内存计算
此参数的具体取值需要基于计算公式和业务需求来规划。请点击下载内存计算表格计算参数取值。
表格说明:
当需要在一个租户下创建多个向量索引时,所需的内存是所有内存的总和。
您需要按业务场景需要填写表格第一列数据量和第二列向量维度数值。
表格第三列 M 表示 HNSW 图索引的最大边数,
16为默认值,通常不需要改动。表格第五列最小内存配置仅用于后建索引,且不进行任何新增数据的场景。
扩大向量索引内存占用
如果需要扩大向量索引内存占用的阈值,建议先降低该租户下 MemStore 内存占比。可通过在用户租户下修改 _memstore_limit_percentage 配置项实现。
注意
降低 MemStore 占比可能会对 DML 性能产生影响,因此在 DML 压力较大的环境中,请务必在评估后再进行修改。
配置示例
设置向量索引内存占用的阈值为 30%。
obclient> ALTER SYSTEM SET ob_vector_memory_limit_percentage = 30;
扩大向量索引内存占用阈值为 59%。
obclient> ALTER SYSTEM SET _memstore_limit_percentage = 25;
ALTER SYSTEM SET ob_vector_memory_limit_percentage = 59;
查看当前向量索引内存配置。
obclient> SHOW PARAMETERS LIKE 'ob_vector_memory_limit_percentage';