WEB开发网
开发学院数据库DB2 深入优化DB2 数据库的五个最佳实践 阅读

深入优化DB2 数据库的五个最佳实践

 2007-05-20 16:19:55 来源:WEB开发网   
核心提示: 这个规则的例外是“DisallowSELECT*”,当几个处理需要一个表中行的不同的部分的时候,深入优化DB2 数据库的五个最佳实践(4),通过事务的整合,一次取回所有行,然后单独处理这些部分,技巧4:选择唯一需要的行:越少的行被检索,查询将运行的越快,这种评估有助

这个规则的例外是“DisallowSELECT*”,当几个处理需要一个表中行的不同的部分的时候。通过事务的整合,一次取回所有行,然后单独处理这些部分。

技巧4:选择唯一需要的行:

越少的行被检索,查询将运行的越快。符合要求的行不得不令自己在存储器中通过漫长之旅,穿过缓冲池,阶段1,阶段2,可能的分类和转换,然后传递结果集到调用程序。数据库管理器管理所有的数据过滤;这对于检索一行是非常浪费的,测试在程序代码里的那一行,然后过滤掉那行。禁止程序自动过滤是一个必须强制执行的铁的规则。开发商可能选择使用程序代码执行所有或部分的数据操作或者他们可能选择使用SQL。典型地是混合在一起。已知的叙述显示,过滤器可能被放入DB2engine里的程序代码,类似:

IFTABLE-COL4>:VALUE
GETNEXTRESULTROW

技巧5:使用常量和字面值,如果值在以后的3年中不改变(对于静态查询):

DB2优化器对所有不均匀的分类统计都充分的使用,并为任何一个列统计提供了不同领域范围内的值,尤其当没有主机变量在谓词中被发现时,(WHERECOL5>'X')。主机变量的目的是使一个事务能适应一个可变化的变量;当一个用户请求输入这个值的时候是最经常被使用的。主机变量不需要重新绑定一个程序,当这个变量每一次改变的时候。这种可延伸性能得到优化器准确的耗费。当主机变量刚被发现,(WHERECOL5>:hv5),优化器使用以下的图表来评估过滤器要素,而不是使用目录统计:

图4:过滤器要素

列的基数性越高,则谓词的过滤器要素就越低(保留部分行的预测)。多数时候,这种评估有助于优化器对适当存取路径的选取。然而,有时谓词的过滤器要素远离实际。这就是通常需要对存取路径进行调优的时候。

上一页  1 2 3 4 5 6 7  下一页

Tags:深入 优化 DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接