【问题标题】:Can MySQL stored procedures be used for anything Java is used for?MySQL 存储过程可以用于 Java 的任何用途吗?
【发布时间】:2011-05-04 04:55:44
【问题描述】:

也就是说,我们可以对所有事情都使用存储过程吗?在由数据库支持的网站中。

【问题讨论】:

  • 不,清除您的问题。
  • 我们正在开发一个分布式网络应用程序。我的队友想对大多数事情使用 MySql 存储过程...

标签: mysql sql stored-procedures


【解决方案1】:

存储过程有其好处:

  • 尽量减少应用程序和数据库之间的来回流量,浪费带宽
  • MVC:分离持久层
  • 比应用程序代码更好地扩展负载(IE:ORDER BY 总是胜过应用程序代码)

存储过程缺点:

  • 数据库依赖性 - ANSI 得到更广泛的支持,但存储过程代码(不是其中的查询/查询)目前尚未标准化

结论

是的,存储过程和函数可以完成大部分您可能想要对数据执行的操作。使用它们的决定取决于设计选择——与数据库无关,大多数都不会使用存储过程。选择最适合要求的,而不是您的偏好。

【讨论】:

  • 关于最初的问题 - 使用存储过程“为一切” - 这几乎肯定是一个非常糟糕的主意。
  • 就像“是的,存储过程和函数可以完成大部分您可能想要对数据执行的操作”,您的意思是?我同意。
  • @magma:“大多数”不是绝对的,而“几乎可以肯定是一个非常糟糕的主意”是危险的接近。
【解决方案2】:

简而言之:没有。 而且,这可能是个坏主意。

见:Arguments for/against Business Logic in stored procedures

【讨论】:

  • 谢谢你 - 黄金答案
  • 不是一个值得参考的好问题 - 这个问题是主观的/争论的,实际上取决于应用程序设计。
  • @omg 因为问题是主观的并且它取决于应用程序设计并且我们不太了解关于 Ada 的应用程序设计,值得一读。
  • 所以,您无法要求澄清?或者只是不愿意,当您可以在完全重复的前提下提供链接时?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
  • 2013-05-18
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 2020-04-03
相关资源
最近更新 更多