作者rockchangnew (rock)
看板Database
标题Re: [讨论] 预存程序的效率是否较佳?
时间Tue Apr 21 21:30:39 2015
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://webptt.com/cn.aspx?n=bbs/Database/M.1429623042.A.915.html
1F:→ iFEELing: 谁说sp在建立的时候执行计画就产生了?? 04/23 10:04
2F:→ iFEELing: 执行计画应该会随着table状况而改变吧。 04/23 10:06
看一下这一篇文章
https://msdn.microsoft.com/zh-tw/library/dn168870.aspx
※ 编辑: rockchangnew (140.136.240.135), 04/23/2015 15:45:23