Skip to content

swap_buff_mem

参数名称

swap_buff_mem

参数解释

设置交换缓冲区内存大小,即交换缓存块(swap)初始额定总内存(单位:MB)。

Swap内存用于排序、哈希连接(Hash Join)、聚合等运算的文件转出和读取,块大小为256KB。与data_buff_mem不同,swap_buff_mem没有分组设计,当swap内存不足时,后续任务堆swap内存的请求阻塞等待,直到swap内存回收重用。

以哈希连接为例,当system_sga_mem不足或max_hash_mem不足后,将使用临时表空间的方式启动文件转出,转出逻辑文件组数由hash_parti_num决定,将使用hash_parti_num*2个交换缓存块,计算方式为swap_buff_mem ≥ hash_parti_num*2*256KB,例如:hash_parti_num=16需要16×2×256KB=8MB的交换缓冲区内存。

默认值

64

取值范围

[64,1048576]

访问权限

R/W

是否全局参数

修改生效方式

swap_buff_mem不支持在数据库中执行SET命令修改,只能通过修改xugu.ini文件,重启系统后生效。

操作步骤

  1. 在数据库中执行以下命令中止数据库服务,退出控制台工具。
    SQL> SHUTDOWN
  2. 修改SETUP文件夹下xugu.ini文件中的swap_buff_mem参数,根据实际需求在取值范围内选择合适的参数值,保存并退出。
  3. 重新启动数据库服务。
  4. 在数据库中执行以下命令查看当前参数值。
    SQL> SHOW swap_buff_mem

注意事项

该参数最小值必须满足单个查询所需最大块数,否则查询将无法执行。