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文件,重启系统后生效。
操作步骤
- 在数据库中执行以下命令中止数据库服务,退出控制台工具。
SQL> SHUTDOWN
- 修改SETUP文件夹下xugu.ini文件中的swap_buff_mem参数,根据实际需求在取值范围内选择合适的参数值,保存并退出。
- 重新启动数据库服务。
- 在数据库中执行以下命令查看当前参数值。
SQL> SHOW swap_buff_mem
注意事项
该参数最小值必须满足单个查询所需最大块数,否则查询将无法执行。