Re: [討論] 預存程序的效率是否較佳?

看板Database作者 (rock)時間10年前 (2015/04/21 21:30), 10年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/4 (看更多)
SP跟AP丟查詢語法比較 當然是執行SP速度會較快 DB接收到一個QUERY後,就是要分析語法然後找出執行計畫 再依據執行計畫去撈資料 而SP在建立後,執行計畫就產生了 因此執行SP就省了分析跟找計畫的步驟 當QUERY語法很簡單時也許會感覺不出差異 但當語法是很複雜的話,SP就明顯比較快 如果這個語法每天會被執行個上萬次 不僅省下時間也降低CPU的loading 至於維護部分SP也比較好 試想一下 程式修改QUERY語法後,需編譯及重新佈署 萬一是類似window form架構,則也許要佈署到好多台Client去 但如是使用SP,只要修改該SP即可 使用SP有好處但也要注意有可能會有參數探測的問題 個人是覺得複雜的語法或是需要temp table處理中繼資料 的話,用SP是比較好。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.194.8 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1429623042.A.915.html

04/23 10:04, , 1F
誰說sp在建立的時候執行計畫就產生了??
04/23 10:04, 1F

04/23 10:06, , 2F
執行計畫應該會隨著table狀況而改變吧。
04/23 10:06, 2F
看一下這一篇文章 https://msdn.microsoft.com/zh-tw/library/dn168870.aspx ※ 編輯: rockchangnew (140.136.240.135), 04/23/2015 15:45:23
文章代碼(AID): #1LDb42aL (Database)
文章代碼(AID): #1LDb42aL (Database)