调优联邦查询
2008-09-17 16:31:35 来源:WEB开发网核心提示: 在 Explain 命令中使用 -g 选项可以增加访问计划的树状图形显示,类似于 DB2 Control Center 的 visual Explain (见清单 5),调优联邦查询(5),叠加处理在用 EXPLAIN 命令分析了访问计划,并且识别了本地和远程对象之后,为了避免这种情况,优
在 Explain 命令中使用 -g 选项可以增加访问计划的树状图形显示,类似于 DB2 Control Center 的 visual Explain (见清单 5)。
叠加处理
在用 EXPLAIN 命令分析了访问计划,并且识别了本地和远程对象之后,真正的工作就开始了。您必须确定是查询的哪一部分导致了性能瓶颈。
如果看到查询的一个部分引用了远程对象,但处理没有被发送到远程数据源,那么您可能已经发现了问题的起因。但是,没有明确的规则可以一针见血地指出问题所在。很多调优都需要反复试验。如果您怀疑查询的某个部分应该被叠加,但是 Explain 显示并没有发生该叠加,那么接下来要做的就是,检查那些对优化器的访问路径决策有影响的参数。
虽然 DB2 II 引擎努力地送出尽可能多的工作,以便优化性能,但是,如果由于函数方面的问题而没有送出工作,或者如果优化器断定本地处理更为高效,那么 DB2 II 引擎就会在本地处理工作。
查询中可能阻碍叠加处理发生的函数方面的问题包括:
对于某个函数,DB2 II 知道在远程没有与之对等的函数。
某个 SQL 结构在远程数据源上不受支持,因而不能重写成遵从远程数据源的 SQL 本地语言的形式。
远程数据源上的一个排序序列不同于 DB2 II(或另一个远程数据源)上的排序序列,这将导致一些 SORT 和不等价的谓词不能应用到基于字符的属性上。
记住,DB2 II 还可能因为性能方面的原因而避免使用叠加,例如避免笛卡儿乘积。笛卡儿乘积会生成很多行,因而将导致过多的网络传输。为了避免这种情况,优化器可以决定把连接所涉及的表中的数据取放到 DB2 II 服务器中,并在本地执行连接。
更多精彩
赞助商链接