首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >何时在SQL Server中使用函数以及何时使用存储过程

何时在SQL Server中使用函数以及何时使用存储过程
EN

Stack Overflow用户
提问于 2015-12-16 04:50:09
回答 2查看 3.9K关注 0票数 0

在SQL Server中何时使用函数以及何时使用存储过程?

我想知道人们在这方面的想法和经验。另外,我想知道什么时候使用视图。我不是在寻找这些db对象的定义。一个实际的场景讨论会很好。

EN

回答 2

Stack Overflow用户

发布于 2015-12-16 05:16:15

在我看来,仅仅为了读取数据而使用SPs是一个非常不好的习惯。

您必须区分

  • SP:一个批处理,通常是多条语句,你可以(几乎)做任何事情。最大的缺陷是,您不能轻松地继续处理SPs结果,并且-如果您想在进一步的查询中使用SPs返回-您总是必须将其写入到正确声明的表中(real、temp或variable)。这可能是很多容易出错的输入。此外,优化器将不能处理这个performantly.
  • TV-UDF (表值用户定义函数):必须知道存在两种类型:单语句(ad-)或多语句(-statement)。第一个是好的,第二个(几乎在所有情况下)都很糟糕!与视图相比的一个优点是,参数及其处理是pre-compiled.
  • VIEW:的,这与ad-hoc TV-UDF一样好。您可以使用模式绑定来声明它,并几乎像处理表一样处理它(索引等等)……

:使用SP进行更新、删除、任何类型的数据或结构操作,而不是使用SPs进行唯一读取。

票数 1
EN

Stack Overflow用户

发布于 2015-12-16 05:05:30

例如,在我的日常工作中,我使用sp来检索、存储、更新和删除记录,我大部分时间都从web应用程序执行这些sp,但有时当一些sp需要一些复杂或重复的操作时,如果需要的话,我会使用一个函数来重用这些操作,或者在我的sp中保留一个更干净的代码。

我们通常不使用视图,但为了简单起见,你可以使用它们,如果你只是调用视图,你不需要使用相同的长的Select命令来连接。

这是我的经验,为我的英语:)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34299132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档