我正在构建一个wicket Web应用程序。它显示了一个带有DataView
的“实体”列表,并且还显示了一个工作正常的详细信息页面。只有数据库中所需的行才会加载到我的DataView
中,因此性能很好。
我还可以在详细信息页面上显示计算值,该值是从“实体”动态生成的。但是当我想在列表页面上总结这个计算值时,如果表中有数百行,性能会变差。这是因为为每个会话生成整个表的值。
我是否应该缓存此计算值(如果是,我该怎么做)或者在我的数据库表中添加一个包含此值的列会更好,这会违反DRY原则吗?
答案 0 :(得分:0)
正如@biziclop评论的那样,简单缓存的解决方案是向Application Class添加一个字段,该字段缓存计算出的值。这样,必须在应用程序启动时和相关数据的每次更改时进行计算。