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

调优 SQL 过程

 2008-09-09 10:03:14 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示: 第二种方法就是具有专用的处理程序,“捕捉”各条语句所“抛出”的任何或特定错误条件,调优 SQL 过程(5),Java™ 和 C++ 编程人员都熟悉这一概念,SQL/PSM 标准为 SQL 过程语言定义了使用处理程序的第二种方法,

第二种方法就是具有专用的处理程序,“捕捉”各条语句所“抛出”的任何或特定错误条件。Java™ 和 C++ 编程人员都熟悉这一概念。

SQL/PSM 标准为 SQL 过程语言定义了使用处理程序的第二种方法。然而,通常当从 Sybase 或 Microsoft SQL 服务器移植 TSQL 过程时,或当仅仅对 SQL PL 应用 C 技巧时,都可以避免更现代的处理程序方法,而支持更为传统的错误检查方法。

这些情况下要做的事情就是定义一个通用的“万能(catch-all)”处理程序,用于在局部变量中保存所有错误信息。然后,使用过程体中的显式错误处理代码进行错误处理。下面是这种类型的一个简单场景。

调优 SQL 过程

在这个场景中,要处理一条 SELECT INTO 语句。在处理这条语句之前,要重新设置本地错误变量,其代价虽然不高,但仍要花费一些 CPU 时间。然而,问题是用于保存错误变量的 VALUES INTO 语句的花费几乎与 SELECT INTO 语句的一样高。

具有讽刺意味的是,在许多情况下,程序甚至可能不在乎检查 SELECT INTO 的结果是什么,因此,条件处理程序的工作是徒劳的。本例中,将完成以下几件事。

首先,可以显式地检查 NOT FOUND 警告(如果想这样做的话),而不必在局部变量中保存 SQLCODE 和 SQLSTATE。事实的确如此,因为该警告可用于 SQL 过程中的下一条语句。

其次,所有错误或意想不到的警告实际上应该由异常处理程序来处理。除了按照发明者所计划的方式来使用该语言之外,这样做可避免复制和重新设置局部变量。

调优 SQL 过程

可预测的是,上面的调优版本免除了所有处理程序成本,并使性能提高了一倍。

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

Tags:SQL 过程

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