首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储过程选择VS从外部连接中选择

存储过程选择VS从外部连接中选择
EN

Stack Overflow用户
提问于 2021-12-29 17:27:05
回答 2查看 215关注 0票数 -2

我试图找出使用存储过程代替来自外部连接的SQL查询的利弊,但我无法找到任何直接的比较。

  • 使用存储过程而不是来自外部连接的SQL查询有什么好处?
  • 对于小容量和大容量的输出,它们之间是否有执行速度的差异?
  • 数据库管理也有什么好处吗?
EN

回答 2

Stack Overflow用户

发布于 2022-01-01 12:05:33

使用存储过程而不是来自外部连接的SQL查询有什么好处?

  • 存储过程可能很复杂。非常复杂。它们可以执行单个SQL查询无法完成的任务。(将阻止执行到一边。)
  • 他们有自己的一套授权,这样他们就可以做一些当前用户根本无法做的事情。
  • Firebird优化器并不是那么糟糕,但显然复杂的查询需要更多的时间进行优化,而且结果可能仍然不太理想。使用命令式语言,程序员可以将复杂的查询拆分成一组简单的查询,从而使数据访问路径更加可预测。

对于小容量和大容量的输出,它们之间是否有执行速度的差异?

不是的。

数据库管理也有什么好处吗?

这取决于你所谓的“数据库管理”,以及你所想到的好处。很有可能-不。

票数 1
EN

Stack Overflow用户

发布于 2021-12-29 19:04:43

使用存储过程而不是来自外部连接的SQL查询有什么好处?

在执行方面,一个好处是存储过程存储它们的查询计划,而动态sql查询计划不会被存储,必须在每次执行查询时进行计算。

对于小容量和大容量的输出,它们之间是否有执行速度的差异?

一旦计算出查询计划,就没有速度差异。

数据库管理也有什么好处吗?

这太主观了!过去,我在一个地方工作,所有的数据库访问都通过存储过程进行,这样他们就可以锁定对SPs的访问。我工作过的其他地方根本没有使用存储过程,因为它们通常在源代码管理之外,对于不是SQL专家的开发人员来说是有问题的。此外,跨多个系统的业务逻辑也可能成为一个真正的问题。

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

https://stackoverflow.com/questions/70522863

复制
相关文章

相似问题

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