2012-08-23 87 views
2

我有一個問題,我有很多要繪製的數據。圖表設置爲初始只繪製少量點數,但您可以「放大」以獲取特定日期範圍內的更多點數(這通過AJAX請求發送到Java後端)多個SQL查詢與Java二進制搜索的效率

我有想到了兩種方法,他會喜歡一些反饋,這可能是更有效的:

  • 只需用日期範圍內的每個請求的問題 或
  • 預壓法用於所有日期執行新的SQL查詢中的所有記錄範圍到我的Java框架內的ORM類。將這些添加到二叉搜索樹中。然後,當用戶提出請求時,只需執行二分查找。

我假設數據庫已經有一些基於樹的索引,但第二種方法可以避免重複數據庫調用的開銷。謝謝你的幫助!

回答

2

最好的方法是查看這兩個解決方案,但我的直覺是,你的DBMS會做得比你做得更快。 DBMS的設計專門用於處理這樣的查詢,速度非常快。它們的優化器可能比您在Java中實現的要好。

這是假設您的數據庫已正確配置和優化,以處理您所描述的查詢。我懷疑重複DB調用的成本不足以抵消DBMS的性能。

讓DMBS執行此搜索也更加清潔,因爲它最大限度地減少了需要自己編寫的代碼。

再一次,最好的方法是確定解決方案和配置文件的原型。

+0

謝謝,是的,我是那種傾斜的方式。我想我會繼續使用直接查詢。 – trs79