query_heap_sz -“查询堆大小”配置参数

此参数指定可为查询堆分配的最大内存量,以便确保应用程序不会不必要地消耗代理程序中的大量虚拟内存。

重要信息: 在 V 9.5 中不推荐使用此参数,在将来的发行版中可能会将其除去。 在 V9.5 之前的数据服务器和客户机中仍然可以使用此参数。 在 V9.5 和更高发行版中,将忽略对此配置参数指定的值。
配置类型
数据库管理器
适用于
  • 带有本地和远程客户机的数据库服务器
  • 带有本地客户机的数据库服务器
  • 带有本地客户机和远程客户机的分区数据库服务器
参数类型
可配置
缺省值 [范围]
1 000 [2 - 524 288 ]
计量单位
页 (4 KB)
分配时间
当应用程序(以本地方式或远程方式)与该数据库连接时
释放时间
当应用程序与数据库断开连接时,或与实例拆离时

查询堆用来将每个查询存储在代理程序专用内存中。 每个查询的信息由输入和输出 SQLDA、语句文本、SQLCA、程序包名、创建程序、节号以及一致性标记组成。

查询堆也用于分配给分块游标的内存。 此内存由游标控制块和全分辨输出 SQLDA 组成。

所分配的初始查询堆将与该应用程序支持层堆的大小相同,后者由 aslheapsz 参数指定。 该查询堆大小必须大于或等于二(2),且必须大于或等于 aslheapsz 参数。 如果此查询堆不够大,无法处理给定的请求,将重新分配它,使其达到该请求所需的大小(不超过 query_heap_sz)。 如果此新查询堆超过 aslheapsz 的 1.5 倍,那么在该查询结束时将重新分配该查询堆,使其大小为 aslheapsz

建议:在大多数情况下,缺省值已足够使用。 作为最小值,您应该将 query_heap_sz 设置为至少大于 aslheapsz 五倍的值。 这将允许进行超过 aslheapsz 的查询,并为要在同一个给定时间打开的三个或四个分块游标提供附加内存。

如果您拥有很大的 LOB,那么可能需要增大此参数的值,以便查询堆的大小足够容纳那些 LOB。