什么是更好的性能 - 通过循环进行大量调用DB或单个调用进行计算?

时间:2018-02-07 05:56:35

标签: java database performance hibernate

我正在使用预定义的问题进行在线测试,这是正确的答案我让学生输入他们对每个问题的答案,然后我把它们与正确的表格DB一起检查。最好是为每个答案调用DB来检查或得到所有问题的正确答案并制作循环o(n)^ 2.我正在使用hibernate

1 个答案:

答案 0 :(得分:0)

批量操作是最好的。它需要单个数据库往返,您可以在数据库中执行所有处理,这样您就不必在数据库中来回移动一百万条记录。

有关批量更新的详细信息,请查看this article

在您的示例中,用户是否有1000个问题的测试并不重要。如果他们有预定义的正确答案,您可以自动匹配数据库中的答案。

如果您需要手动验证答案,请使用batch processing并一次处理N个答案,并将所有答案一次性发送到数据库。