为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】:Centos7
【CPU】: INTEL
【问题描述】*:官方这样介绍的哈希缓存区:DM8 提供了为哈希连接而设定的缓冲区,不过该缓冲区是个虚拟缓冲区。之所以说是虚拟缓冲,是因为系统没有真正创建特定属于哈希缓冲区的内存,而是在进行哈希连接时,对排序的数据量进行了计算。如果计算出的数据量大小超过了哈希缓冲区的大小,则使用 DM8 创新的外存哈希方式;如果没有超过哈希缓冲区的大小,实际上还是使用内存池来进行哈希操作。
问题1:哈希缓存区内存从哪去区域分配的?是共享内存池、运行时内存池、还是有自己独立的区域。
问题2:服务器大内存512G情况下,而且sql会执行会涉及到5个表的关联查询,主表统计会涉及100万行记录,是不是应该调大HJ_BUF_GLOBAL_SIZE,默认5000,调整到10000可行吗?还需要调整哪些参数?
问题一:共享内存池里分配。
问题二:100w的记录关联默认5000已经够用了,不过如果512G服务器作为数据库专用服务器可以联系工程师进行统一调配