谢谢,向大家请教了,希望大家能多提供一些想法。
大道至简,但是要做起来就不是一天两天时间,EJB开辟了一个时代,因为它解决了象你这样一个基本简单的问题。
我现在再做的一个项目处于重构阶段,也正在处理一个类似的问题,我将我的思路表述一下
重新设计数据库
原因很简单!初始数据库再设计上不够oo,导致OR的cache功能基本上无法使用.访问层的接口多而杂,里面针对于特定业务写了很多原子性的cache.代码reuse不大.设计的重点在于尽量的把只读数据重构出来,把N:N的关系打散!这2点使解决性能问题的核心.
把性能的优化重点放在query cache,和laze loading
我决定正对query进行数据的cache,基本思想就是对于同一条query只获取有修改的数据,对于没有修改的直接从缓存里拿,这样把查询个体化.正对于级联查询,一律使用laze loading !