WEB开发网
开发学院数据库DB2 调优联邦查询 阅读

调优联邦查询

 2008-09-17 16:31:35 来源:WEB开发网   
核心提示: 基本调优任务对任何性能低下的 SQL 语句进行调优都需要一种有条不紊的方法,毫无计划地更改参数只能让每一次做出的更改难于判断效果,调优联邦查询(2),如果某一次更改对性能起了反作用,那么您需要知道应该退回到哪一次更改,EXPLAIN 命令的输出是判断优化器是否将为查询使用“叠加

基本调优任务

对任何性能低下的 SQL 语句进行调优都需要一种有条不紊的方法。毫无计划地更改参数只能让每一次做出的更改难于判断效果。如果某一次更改对性能起了反作用,那么您需要知道应该退回到哪一次更改。

不管调优什么 SQL,都应该执行以下任务:

评估当前性能,并记录到文档。

与创建查询的人会谈,并得出合理的性能预期。

建立查询的业务目标。

对于来自生产系统的查询,获得一个 Explain 计划。

如果可行的话,在测试系统上重建环境,并重新运行查询。

对于与查询相关的所有表,确信最近在这些表上执行了 Runstats 或与之等价的远程命令。

确保各个表的重组,以匹配它们的集群索引。

查找 WHERE 子句中索引列上的 SQL 函数,这些函数可能导致优化器忽略了索引。

确保在 WHERE 子句中尽可能使用索引列。

查找笛卡儿积(Cartesian products)。

跟踪每一项更改的效果,每次跟踪一项。

联邦调优任务

由于联邦查询连接到了不同的数据源,调优的第一步是将查询分解为两部分:本地和远程。本地部分使用驻留在 DB2 II 服务器上的对象,而远程部分使用驻留在远程主机上的对象。通过这种方式划分联邦查询,有助于判断影响性能问题的根源。

DB2 II 服务器中的所有联邦对象在 syscat.tables 编目表中都是以昵称(TYPE=N)的形式标识的。也可以通过 EXPLAIN 命令识别查询中的联邦对象,该命令将显示 DB2 II 引擎选择的全局访问计划。EXPLAIN 命令的输出是判断优化器是否将为查询使用“叠加(push-down)”处理(即在远程服务器上执行的处理)的惟一途径。DB2 II 使用来自包装器、服务器和昵称对象的信息,来判断什么任务可以叠加到远程服务器。

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

Tags:联邦 查询

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