【问题标题】:java stored procedure vs sql stored procedurejava存储过程vs sql存储过程
【发布时间】:2012-07-12 13:27:57
【问题描述】:

现在java存储过程顾名思义是用java编写的,因此它们存在于客户端。 SQL 存储过程存在于服务器上。我知道拥有 sql 存储过程的优点:- 我能想到的一个是减少网络开销,因为您只需发送参数而不是整个 sql 语句。

但我想不出使用 java 存储过程而不是 sql 存储过程。有人可以帮我吗?

【问题讨论】:

  • 什么是Java存储过程?你能显示代码吗?据我所知,名称存储过程特定于存储在数据库中的查询。
  • Oracle 允许使用 Java 编写存储过程。它们在 Oracle 自身内部的 JVM 中执行。
  • 您确定您的 Java 存储过程是“客户端”吗?大多数 RDBMS 允许以多种不同的语言定义 SP。此外,允许任何实际的客户端代码直接访问您的数据库(如 SP 所要求的)是一个巨大的安全问题。
  • @ThorbjørnRavnAndersen - 我明白了。就像 SQL/CLR 和 SQL Server。

标签: java sql stored-procedures


【解决方案1】:

它是用 Java 编写的,有些人更喜欢使用 Java。这只是整合项目中使用的语言的另一种方式。

【讨论】:

    【解决方案2】:

    仅使用 Java 代码的一大优势是它更易于发布和版本化。如果您使用存储过程,则升级和回滚版本或同时运行多个版本并不容易。

    【讨论】:

    • 这取决于你可以缓存多少数据。可以缓存的越多,使用Java就越好,可以缓存的越少,将数据保存在数据库中就越好。注意:您可以在不使用任何存储过程的情况下将 SQL 发送到数据库。
    • java存储过程中,SQL语句不应该发到数据库吗?
    • 如果数据缓存在Java中,代码可以完全在Java中执行。
    • 是的,但是对于新的,它需要将 sql 查询发送到服务器。除了这个缺点还有吗?
    • 存储过程的代码和安装它的脚本可以而且应该进行版本控制。从本质上讲,您应该能够从零开始使用您的版本控制系统中的内容。
    猜你喜欢
    • 2011-10-12
    • 2019-05-21
    • 2018-05-08
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    相关资源
    最近更新 更多