2012-09-10 35 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