2012-09-10 66 views
0

我正在處理一個每天都在增長的大型數據庫。 從該數據庫中提取所需的數據涉及一些連接,並且由於數據量過大,所需的時間太長。一位朋友建議如下:將DB數據寫入二進制文件

一天一次從該數據庫中提取所有需要的數據,並將其寫入一個二進制文件,該文件將駐留在源代碼管理中。接下來,創建一個dal實現,它將對這個二進制文件起作用,這樣事情應該可以順利進行。

我不熟悉這種方法,我想知道 - 這是一個很好的做法嗎?這種做法的優點和缺點是什麼,最後是否有這樣的實現(目前我正在使用JPA)的參考?

在此先感謝

回答

1

有幾件事情,

你也許可以優化你如何查詢數據。請參閱:http://java-persistence-performance.blogspot.com/2010/08/batch-fetching-optimizing-object-graph.html

如果在JPA(或EclipseLink)中啓用緩存,則可避免將查詢作爲數據的數據庫。 請參閱:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching

您可以將數據存檔到數據庫中以避免數據增長過大。或者分割數據,以便只有當前數據在表格中。

您可以爲當前數據使用本地或內存數據庫,也可以使用產品(如Oracle TimesTen)或高速緩存產品(如Oracle Coherence)。

+0

謝謝詹姆斯,我一定會考慮那些! – forhas