【问题标题】:Stored Procedures vs SQL in code, What is the Best Practice. [duplicate]代码中的存储过程与 SQL,最佳实践是什么。 [复制]
【发布时间】:2016-06-16 10:02:07
【问题描述】:

目前,我们有开发人员使用 java 代码编写 SQL 查询,这些查询被放置在不同的代码区域。 查询本身并没有太多优化。 DBA 不能拥有优化查询的所有权,因为它们处于应用程序级别。

在存储过程中编写每个查询是否有助于改善这种情况?控制应用程序中 SQL 质量的最佳做法是什么?

【问题讨论】:

  • 把每一个查询都放在那里不一定有帮助,但是把你认为可以在应用程序的生命周期中改变的那些,或者可以由熟练的 DBA 优化的那些,将帮助。您不想为此制定一个 100% 的硬性规定。
  • 您是否考虑过如何测试 Java 代码?如果您稍后将业务逻辑限制为 Java,则可以通过内存数据库的单元测试对其进行测试。

标签: database jdbc


【解决方案1】:

作为技术论文,存储过程比 SQL 命令好不了多少。 原因: 每个运行 SQL 命令的请求都包含以下步骤:

  • 语法检查
  • 编译
  • 运行

但是当你使用存储过程时,请求直接RUN。 很高兴知道每个 SQL 请求在运行之前都有执行计划,对于存储过程,这部分将被保存并直接运行。 您可以使用 sp_recompile 命令重新编译存储过程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    相关资源
    最近更新 更多