我正在处理每天都在增长的大型数据库。 从此DB中提取所需数据涉及一些连接,并且由于需要太长时间而需要大量数据。一位朋友建议如下:
每天从此数据库中提取所有必需的数据并将其写入将驻留在源代码管理中的二进制文件。接下来,创建一个dal实现,它将对这个二进制文件起作用,这样事情应该顺利进行。
我不熟悉这种方法,我想知道 - 这是一个好习惯吗?这种做法有哪些优点和缺点,最后是否有任何参考(目前我使用的是JPA)?
提前致谢
答案 0 :(得分: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等缓存产品。