返回首页

gbase数据、南大通用产品文档:GBase8cwork_mem

更新日期:2024年09月11日

参数说明:
设置内部排序操作和Hash 表在开始写入临时磁盘文件之前使用的内存大小。
ORDER BY、DISTINCT 和merge joins 都要用到排序操作。Hash 表在散列连接、散列为基
础的聚集、散列为基础的IN 子查询处理中都要用到。
对于复杂的查询,
可能会同时并发运行好几个排序或者散列操作,
每个都可以使用此参
数所声明的内存量,不足时会使用临时文件。
同样,好几个正在运行的会话可能会同时进行
排序操作。因此使用的总内存可能是work_mem 的好几倍。
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:整型,64~2147483647,单位为KB。
默认值:64MB
设置建议:> 依据查询特点和并发来确定,一旦work_mem 限定的物理内存不够,算
子运算数据将写入临时表空间,带来5-10 倍的性能下降,查询响应时间从秒级下降到分钟
级。> >- 对于串行无并发的复杂查询场景,平均每个查询有5-10 关联操作,建议

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1178
work_mem=50%内存/10。>- 对于串行无并发的简单查询场景,
平均每个查询有2-5 个关联
操作,
建议work_mem=50%内存/5。>- 对于并发场景,
建议work_mem=串行下的work_mem/
物理并发数。>- 对于BitmapScan 的哈希表也会受到work_mem 的限制,但不会被严格管
控下盘。完全Lossify 的情况下,哈希表每占用1MB 的内存,对应一次BitmapHeapScan 的
16GB 的页面(Ustore 为32GB),达到work_mem 上限后,会按此比例随数据访问量线性
增长。

您可以使用 ON-Monitor 使日志缓冲方式在未缓冲和已缓冲之间切换。如果要将日志记录
添加到数据库或使数据库符合 ANSI 标准,那么不能使用 ON-Monitor,而必须使用
ontape。
要更改数据库的日志缓冲方式,请选择日志缓冲方式 > 数据库选项。

enable_bitmapscan
参数说明:控制优化器对位图扫描规划类型的使用。
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示使用。

off 表示不使用。
默认值:on