WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院数据库DB2 利用优化概要文件进行 SQL 调优 阅读

利用优化概要文件进行 SQL 调优

 2010-08-13 00:00:00 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閻忔氨鈧凹鍓熷娲垂椤曞懎鍓伴梺閫炲苯澧紒澶婄秺瀵濡歌閸嬫捇妫冨☉娆忔殘闂佷紮缍€娴滎剟鍩€椤掑倹鏆柛瀣躬瀹曚即寮借閺嗭箓鏌ㄩ悤鍌涘
核心提示: 清单 12 清除缓存中的优化概要文件FLUSHOPTIMIZATIONPROFILECACHEXQPENG.HSJOINFLUSHOPTIMIZATIONPROFILECACHEALL应用优化概要文件对于清单 13 中的查询语句,基于统计信息的估算,利用优化概要文件进行 SQL 调优(7),优化

清单 12 清除缓存中的优化概要文件

 FLUSH OPTIMIZATION PROFILE CACHE XQPENG.HSJOIN 
 FLUSH OPTIMIZATION PROFILE CACHE ALL 

应用优化概要文件

对于清单 13 中的查询语句,基于统计信息的估算,优化器得出表 t2 中的符合条件的数据行数多于表 t1 中的符合条件的数据行数,故会将 t2 表作为 Hash Join 中的小表来首先生成 Hash 值列表,然后在遍历 t1 表进行匹配。然而根据用户的实际经验,这是一个错误的估计,因此我们通过一个特定的优化概要文件,来指示让优化器生成我们希望的访问计划,即由 t1 作为 Hash Join 中的小表来生成 Hash 值列表。清单 14 和 15 给出了优化器在给定优化概要文件之前和之后所生成的访问计划。

清单 13. SQL 查询语句

 select t1.c3,t2.c3 from t2 ,t1 where t1.c1=t2.c1 
 and t1.c1<100 and t2.c2 >60 

清单 14. 没有指定优化概要文件时的访问计划

 Access Plan: 
 ----------- 
 Total Cost: 804.126 
 Query Degree: 1 
 
 Rows 
 RETURN 
 ( 1) 
 Cost 
 I/O 
 | 
 154.429 
 HSJOIN 
 ( 2) 
 804.126 
 52 
 /-----+------\ 
 200.185 77.2143 
 TBSCAN TBSCAN 
 ( 3) ( 4) 
 385.013 416.576 
 26 26 
 | | 
 2000 2000 
 TABLE: XQPENG TABLE: XQPENG 
   T2 T1 
 Q2 Q1 

清单 15. 指定优化概要文件后的访问计划

 Access Plan: 
 ----------- 
 Total Cost: 804.126 
 Query Degree: 1 
 
 Rows 
 RETURN 
 ( 1) 
 Cost 
 I/O 
 | 
 154.429 
 HSJOIN 
 ( 2) 
 804.126 
 52 
 /-----+------\ 
 200.185 77.2143 
 TBSCAN TBSCAN 
 ( 3) ( 4) 
 385.013 416.576 
 26 26 
 | | 
 2000 2000 
 TABLE: XQPENG TABLE: XQPENG 
   T1 T2 
 Q1 Q2 

结束语

如果在应用了所有的常用调优技术之后,例如建索引,收集统计信息等,SQL 优化器给出的执行计划仍然具有明显的缺陷,这时用户就可以考虑采用优化概要文件的方式,来指示优化器生成指定的执行计划。但是建议用户在使用这个特性时要谨慎,对于优化概要文件,优化器需要额外的查询匹配开销,此外,优化概要文件里的特定内容也可能会随着时间和数据库状态的变化而改变。所以,需要定期地检查它们的实现,以便从它们的使用中获取最大限度的收益。

上一页  2 3 4 5 6 7 

Tags:利用 优化 概要

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