多个SQL查询与Java二进制搜索的效率

时间:2012-08-23 19:22:47

标签: java sql ajax

我有一个问题,我需要绘制大量数据。图表设置为最初只绘制了少量的点,但您可以“缩放”以获得特定日期范围的更多点(这通过对Java后端的AJAX请求来实现)

我已经想过两种方法,并希望得到一些反馈意见,哪些可能更有效:

  • 只需对具有相关日期范围的每个请求执行新的SQL查询 OR
  • 将所有日期范围的所有记录预加载到Java框架内的ORM类中。将这些添加到二叉搜索树。然后,当用户发出请求时,只需执行二进制搜索。

我认为数据库已经有了某种基于树的索引,但是使用第二种方法我可以避免重复数据库调用的开销。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

最好的方法是分析两种解决方案,但我的直觉是你的DBMS会比你做得快得多。 DBMS专门设计用于非常快速地处理这样的查询。他们的优化器可能比你在Java中实现的更好。

这是假设您的数据库已正确配置和优化,以处理您所描述的查询。我怀疑重复DB调用的成本不足以抵消DBMS性能。

让DMBS进行此搜索也更简洁,因为它可以最大限度地减少您自己编写的代码。

同样,最明确的方法是快速建立解决方案和配置文件的原型。