我正在努力提高我的应用程序的性能,将多个查询调用组合到存储过程中。这将减少n / w流量,往返次数以及将数据处理逻辑与应用程序分开。
当我在这时,我正在考虑使用最有效的方式来做到这一点。
截至目前,我计划将PreparedStatement
与prepareCall
方法结合使用。
如果有更好的方法,请建议。
我需要将许多IN params
传递给程序,并且还需要OUT params
代码JAVA
。
答案 0 :(得分:0)
据我所知,没有“更好”的方式。您已经在整个应用程序中做了更好的事情。使用存储过程,而不是纯SQL。所以你得到了曲线。如果您真的受到了性能的压力,那么您可能还想查看数据库本身。缓存,索引等。从应用程序,您可以使用memcache,缓存层。但我猜这些不是你现在想要的。
答案 1 :(得分:0)
虽然您可以通过指导某些教程轻松回答您的问题,例如:从:
...我仍然想指出在MySQL中使用存储过程有很多警告。请考虑Bill Karwin's对此Quora问题的回答:
例如,第一期:
MySQL存储过程在会话第一次使用它们时进行编译 - 但编译后的版本会在会话结束时被丢弃。与Oracle或其他RDBMS品牌中的存储过程不同,后者使编译版本保持不变。这意味着MySQL会给程序增加很多开销,特别是如果你的模式是每个会话只调用一次过程。