【发布时间】:2010-10-29 02:53:55
【问题描述】:
我目前正在为我正在进行的项目使用 Spring+Hibernate+MySQL。我意识到有很多桌子永远不会改变。它们是静态的,在这些表上永远不会发生插入或更新,因此可以认为是不可变的。对这些表的所有访问都是通过实体集合和 hql 查询的延迟加载(可以是 Eager)。
我想知道在这种情况下,处理这种情况的最佳性能方法是什么。我有基础知识,只读ehcache,查询缓存和设置为只读的事务(这对Mysql有什么作用吗?)。我还能查看哪些其他内容?哪种隔离模式、传播模式最好?我应该寻找其他缓存解决方案吗?还是我应该简单地取消所有这些,只需将数据一次加载到一系列哈希图中(希望这将是最后的手段)?
另一种可能(牵强?)的解决方案是拥有一些内存/无事务数据库并让休眠连接到它。这样的数据库引擎存在吗?
我很感激你们的任何指点和经验!
【问题讨论】:
-
这些表是否与其他发生变化的表相连?
-
是的,完全正确。正如您正确指出的那样,这正是 Licky Lindsay 的解决方案在这种情况下不可行的原因。
-
每个答案都提供了一些很好的信息,所以感谢大家!
标签: java mysql performance hibernate spring