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

调优联邦查询

 2008-09-17 16:31:35 来源:WEB开发网   
核心提示: 清单 1 展示了一个存储在 db2ii-query.sql 文件中的联邦查询的实例,以粗体标记的表(mids.tbacct 和 mids.tbacct -hldr)上的查询引用了远程对象,调优联邦查询(3),而表 table hjg.iitbl 则是在 DB2 II 服务器本地,Expla

清单 1 展示了一个存储在 db2ii-query.sql 文件中的联邦查询的实例。以粗体标记的表(mids.tbacct 和 mids.tbacct -hldr)上的查询引用了远程对象。而表 table hjg.iitbl 则是在 DB2 II 服务器本地。Explain 将把这个查询分解成几个部分。对于将要使用叠加处理的部分,以 ship 这个词标记。清单 2 展示了 Explain 输出的一个缩节本。优化器将子查询 #1 标记为“shipable”。

清单 1. 联邦 SQL 查询

db2expln -d dbdsdr -stmtfile db2ii-query.sql -o db2ii-query.out -terminator ";" -g
select a.dsssca-no
, a.dssas-ty-cd
, imlp-1st-nm
, imlp-lst-nm
, mlp-st-cd
ac-eom-ast-am
from mids.tbacct a
, mids.tbacct-hldr ah
,hjg.iitbl
where a.dsssca-no =ah.dsssca-no
and ac-eom-ast-am > 1000000
and st-cd =mlp-st-cd and-mlp-st cd ='ny'
fetch first 1 rows only

清单 2. Explain 输出,其中标记了要做叠加处理的查询

| Ship Distributed Subquery #1
| | #Columns = 6
Return Data to Application
| #Columns = 6

查询的这个部分由优化器生成,其中只包含那些访问远程数据源的对象。清单 3 展示了 Explain 输出的一部分,其中有重写后的查询。这个清单中的输出含有关于查询的信息,包括将被发送到远程数据源的 SQL、使用的昵称以及远程服务器的名称及相关版本(在这里是 MIDASP)。如果您对完整的 Explain 输出有兴趣的话,请下载文件: IBM DB2 Universal Database SQL Explain Tool (DOC, 30K)。

清单 3. 优化器重写的访问远程对象的查询。Distributed Substatement #1:

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

Tags:联邦 查询

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