WEB开发网
开发学院数据库DB2 全面解析IBM DB2 9中的查询优化新特性 阅读

全面解析IBM DB2 9中的查询优化新特性

 2008-08-30 16:25:53 来源:WEB开发网   
核心提示: P.P_SIZE, P.P_TYPE, S.S_NATIONFROM KCHEN.PARTS P, KCHEN.SUPPLIERS S, KCHEN.PARTSUPP PSWHERE P_PARTKEY = PS.PS_PARTKEY ANDS.S_SUPPKEY = PS.PS_SUPP

P.P_SIZE, P.P_TYPE, S.S_NATION

FROM KCHEN.PARTS P, KCHEN.SUPPLIERS S, KCHEN.PARTSUPP PS

WHERE P_PARTKEY = PS.PS_PARTKEY AND

S.S_SUPPKEY = PS.PS_SUPPKEY AND

P.P_TYPE IN ('BRASS', 'BRONZE') AND

P.P_SIZE IN (31, 31, 33, 34) AND

S.S_NATION = 'PERU']]>

例子6: 子查询改为连接(查询重写)

在这个例子中,在查询重写期间,通过使用带 ENABLE 属性的 SUBQ2JOIN,将一个子查询转换成一个连接,以便更好地对其进行优化。

FROM KCHEN.PARTSUPP PS, KCHEN.LINEITEM

WHERE PS.PS_PARTKEY = L_PARTKEY AND

PS.PS_PARTKEY = ANY (

SELECT P_PARTKEY FROM KCHEN.PARTS

WHERE P_BRAND <> 'Brand#45' AND

P_NAME = 'peach snow puff bisque misty' AND

P_TYPE <> 'TIN')

GROUP BY PS_PARTKEY]]>

例子7: 影响连接顺序 3、4、1、2 (计划优化)

通常,查询的连接顺序很大程度上决定了查询的执行性能,因为越早地过滤行,效率越高。可以使用以下指南来影响连接顺序。注意,当出现多个表引用时,使用 TABLEID 属性,而不是 TABID 属性。

where t71.c1 = t72.c1 and

t72.c2 = t74.c2 and

t74.c1 = t73.c1 and

t73.c2 = t71.c2 and

t71.c3 = t74.c3 and

t72.c3 = t73.c3]]>

例子8: 客户使用情况(计划优化)

在批处理运行过程中,当刷新一个 MQT 时,客户会遇到性能问题。当为 MQT 定义中涉及的表 tab2 填充数据时,就会触发对 MQT 的刷新。下面的例子代码可以演示这个问题。

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

Tags:全面 解析 IBM

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