我正在尝试将多个查询调用组合到存储过程中来提高我的应用程序的性能。这将减少 n/w 流量、往返行程以及将数据处理逻辑与应用程序分开。
当我在做这件事时,我正在考虑使用最有效的方法来做到这一点。
截至目前,我打算使用PreparedStatement
withprepareCall
方法。
如果有更好的方法,请提出建议。
我需要将许多传递IN params
给程序,并且还需要OUT params
返回JAVA
代码。
我正在尝试将多个查询调用组合到存储过程中来提高我的应用程序的性能。这将减少 n/w 流量、往返行程以及将数据处理逻辑与应用程序分开。
当我在做这件事时,我正在考虑使用最有效的方法来做到这一点。
截至目前,我打算使用PreparedStatement
withprepareCall
方法。
如果有更好的方法,请提出建议。
我需要将许多传递IN params
给程序,并且还需要OUT params
返回JAVA
代码。
虽然您的问题可以通过引导您阅读一些教程来很容易地回答,例如:
...我仍然想指出,在 MySQL 中使用存储过程有很多注意事项。请考虑比尔卡尔文对这个 Quora 问题的回答:
比如第一个问题:
MySQL 存储过程在会话第一次使用它们时被编译——但编译的版本在会话结束时被丢弃。与 Oracle 或其他 RDBMS 品牌中的存储过程不同,它们持久地保留编译版本。这意味着 MySQL 为过程增加了很多开销,特别是如果您的模式是每个会话只调用一次过程。
据我所知,没有“更好”的方法。您已经在整个应用程序中做得更好。使用存储过程,而不是普通的 SQL。所以你得到了曲线。如果您真的迫切需要性能,那么您可能还想看看数据库本身。缓存、索引等。从应用程序中,您可以使用缓存层 memcache。但我猜这些不是你现在要找的。