我阅读了Ayende关于NHibernate中Futures的文章并开始使用它。起初只用于孤立场景 - 返回分页结果的查询(在单次数据库访问中同时查询和计数项目)。但后来我想为什么不对每个查询都使用futures。在我的大多数操作方法中,我需要进行多个查询,平均每页5个(获取用户资料、页脚、类别、组信息等)。
明显的好处是总体上这些查询加起来应该需要更短的运行时间。但这种Web应用程序设计是否存在任何缺点?让我感到好奇的领域有:
明显的好处是总体上这些查询加起来应该需要更短的运行时间。但这种Web应用程序设计是否存在任何缺点?让我感到好奇的领域有:
- NHibernate中的缓存 - 这种设计是否会以任何方式阻止使用NHibernate的缓存功能?
- 也许这样的单个查询包将锁定数据库表并使其他并行操作等待?我使用Read Committed隔离级别。
还有其他问题吗?您对futures有什么经验?您会建议在每个可能的项目中都使用它吗?