Posted on 2010-05-19 23:21
Prayer 阅读(574)
评论(0) 编辑 收藏 引用 所属分类:
DB2 、
DB2k
sheapthres - 排序堆阈值 配置参数
- 配置类型
- 数据库管理器
- 适用于
-
- 具有本地和远程客户机的数据库服务器
- 具有本地客户机的数据库服务器
- 具有本地和远程客户机的分区数据库服务器
- 参数类型
- 可配置
- 缺省值 [范围]
-
- UNIX 32 位平台
- 20 000 [ 250 -- 2 097 152 ]
- Windows 平台
- 10 000 [ 250 -- 2 097 152 ]
- 64 位平台
- 20 000 [ 250 -- 2 147 483 647 ]
- 计量单位
- 页(4 KB)
专用排序和共享排序使用两个不同内存资源中的内存。共享排序内存区的大小是根据 sheapthres 的值,在第一次与数据库连接时静态地预先确定的。专用排序内存区的大小不受限制。
sheapthres 参数对于专用和共享的排序用法是不同的:
- 对于专用排序,此参数是在一个实例内对任何给定时间专用排序可占用的总内存量的 软 限制。当一个实例的总专用排序内存占用达到了此限制时,为附加入站的专用排序请求分配的内存将显著减少。
- 对于共享排序,此参数是在一个数据库内对任何给定时间共享排序占用的总内存量的硬限制。当达到此限制时,将不允许其它共享排序内存请求(直到总共享排序内存的占用降低至 sheapthres 指定的限制以下为止)。(在某些情况下,配置共享排序最大值的另一种方法是使用 sheapthres_shr 数据库配置参数。)
使用排序堆的操作的示例包括:排序、散列连接、动态位图(用于索引 AND 运算和星型连接)和表位于内存中的操作。
显式定义阈值可防止数据库管理器对大量排序使用过量内存。
当从非分区数据库移至分区数据库环境时,不应增大此参数的值。一旦在单个数据库分区环境中调整了数据库和数据库管理器配置参数,在大多数情况下,相同的值在分区数据库环境将同样合适。
作为数据库管理器配置参数的“排序堆阈值”参数应用于整个 DB2 实例。将该参数设置为不同节点或分区上的不同值的唯一方法是创建多个 DB2 实例。这将需要通过不同数据库分区组管理不同的 DB2 数据库。这样安排将无法发挥分区数据库环境的许多优点。
建议: 理想情况下,应将此参数设置为您在数据库管理器实例中拥有的最大 sortheap 参数的一个合理倍数。此参数 至少 应是该实例中为任何数据库定义的最大 sortheap 的两倍。
如果您正执行专用排序并且您的系统不受内存约束,则可使用下列步骤来计算此参数的理想值:
- 计算每个数据库的典型排序堆的使用:
(对该数据库运行的并发代理程序的典型数目)
* (sortheap,为该数据库定义的)
- 对以上结果求和,该值提供可在实例中所有数据库的典型环境中使用的总排序堆。
应使用基准程序技术来调整此参数以找到在排序性能和内存使用之间的相应平衡。
可以使用数据库系统监视器并借助后阈值排序( post_threshold_sorts )监视元素来跟踪排序活动。
sortheap - 排序堆大小 配置参数
- 配置类型
- 数据库
- 参数类型
- 可联机配置
- 传播类
- 语句边界
- 缺省值 [范围]
-
- 32 位平台
- 256 [ 16 - 524 288 ] 2 2
- 64 位平台 2
- 256 [ 16 - 4 194 303 ] 2
- 计量单位
- 页(4 KB)
- 分配时
- 需要执行排序时
- 释放时
- 当排序完成时
此参数定义要用于专用排序的专用内存页的最大数目或要用于共享排序的共享内存页的最大数目。如果排序为专用排序,则此参数将影响代理程序专用内存。如果排序为共享排序,则此参数将影响数据库共享内存。每个排序都有一个独立的排序堆,该排序堆是由数据库管理器按照需要分配的。此排序堆是将数据排序的区域。如果由优化器定向,则将使用优化器提供的信息分配一个比此参数指定的排序堆小的排序堆。
建议: 当使用排序堆时,应该考虑下列事项:
- 适当的索引可使排序堆的使用减至最小程度。
- 散列连接缓冲区和动态位图(用于索引 AND 计算和星型连接)使用排序堆内存。在使用这些技术时,增大此参数的大小。
- 当需要进行频繁的大型排序时,增大此参数的大小。
- 当增大此参数的值时,应该检查是否还需要调整数据库管理器配置文件中的 sheapthres 参数。
- 排序堆大小由优化器在确定存取路径时使用。在更改此参数后,应考虑重新绑定应用程序(使用 REBIND 命令)。
Which of the following settings would allow 20 sorts with a maximum of 10MB each to run currently on a 64-bit instance?
A. Set the DB SHEAPTHERS to 50000 and DB SORTHEAP to 2500
B. Set the DBM SHEAPTHERES to 50000 and DB SORTHEAP to 2500
C. Set the DBM SHEAPTHERS to 50000 and DBM SORTHEAP to 2500
D. Set the DBM SHEAPTHERS_SHR to 50000 and DBM SHEAPTHRES to 2500