一適合讀者對象 數據庫開發程序員
數據庫的數據量很多
涉及到對SP(存儲過程)的優化的項目開發人員
對數據庫有濃厚興趣的人
二介紹
在數據庫的開發過程中經常會遇到復雜的業務邏輯和對數據庫的操作這個時候就會用SP來封裝數據庫操作如果項目的SP較多書寫又沒有一定的規范將會影響以後的系統維護困難和大SP邏輯的難以理解另外如果數據庫的數據量大或者項目對SP的性能要求很高就會遇到優化的問題否則速度有可能很慢經過親身經驗一個經過優化過的SP要比一個性能差的SP的效率甚至高幾百倍
三內容
開發人員如果用到其他庫的Table或View務必在當前庫中建立View來實現跨庫操作最好不要直接使用databsedbotable_name因為sp_depends不能顯示出該SP所使用的跨庫table或view不方便校驗
開發人員在提交SP前必須已經使用set showplan on分析過查詢計劃做過自身的查詢優化檢查
高程序運行效率優化應用程序在SP編寫過程中應該注意以下幾點
a)SQL的使用規范
i 盡量避免大事務操作慎用holdlock子句提高系統並發能力
ii 盡量避免反復訪問同一張或幾張表尤其是數據量較大的表可以考慮先根據條件提取數據到臨時表中然後再做連接
iii 盡量避免使用游標因為游標的效率較差如果游標操作的數據超過萬行那麼就應該改寫如果使用了游標就要盡量避免在游標循環中再進行表連接的操作
iv 注意where字句寫法必須考慮語句順序應該根據索引順序范圍大小來確定條件子句的前後順序盡可能的讓字段順序與索引順序相一致范圍從大到小
v 不要在where子句中的=左邊進行函數算術運算或其他表達式運算否則系統將可能無法正確使用索引
[] []
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22372.html