【问题标题】:Best practices while calling a Stored Procedure from JDBC从 JDBC 调用存储过程时的最佳实践
【发布时间】:2013-07-29 00:57:22
【问题描述】:

我正在尝试通过将多个查询调用组合到存储过程中来提高我的应用程序的性能。这将减少 n/w 流量、往返行程,并将数据处理逻辑与应用程序分开。

当我这样做时,我正在考虑使用最有效的方法来做到这一点。

截至目前,我打算将PreparedStatementprepareCall 方法一起使用。

如果有更好的方法,请提出建议。

我需要将许多IN params 传递给程序,并且还需要OUT params 回到JAVA 代码中。

【问题讨论】:

    标签: mysql performance stored-procedures jdbc


    【解决方案1】:

    虽然通过指导您学习一些教程可以很容易地回答您的问题,例如来自:

    ... 我仍然想指出,在 MySQL 中使用存储过程有很多注意事项。请考虑Bill Karwin's 回答这个 Quora 问题:

    比如第一期:

    MySQL 存储过程在会话第一次使用它们时被编译 - 但编译后的版本在会话结束时被丢弃。与 Oracle 或其他 RDBMS 品牌中的存储过程不同,它们会持久保留编译版本。这意味着 MySQL 为过程增加了很多开销,特别是如果您的模式是每个会话只调用一次过程。

    【讨论】:

      【解决方案2】:

      据我所知,没有“更好”的方法。您已经在整个应用程序中做得更好。使用存储过程,而不是普通的 SQL。所以你得到了曲线。如果您真的迫切需要性能,那么您可能还想看看数据库本身。缓存、索引等。从应用程序中,您可以使用缓存层 memcache。但我猜这些不是你现在要找的。​​p>

      【讨论】:

        猜你喜欢
        • 2010-12-28
        • 2017-01-01
        • 2010-12-24
        • 1970-01-01
        • 1970-01-01
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多