我们(我的团队)即将开始开发一个关键任务项目,该项目的一个子系统是Windows服务。该服务将成为整个系统的支柱,并且必须按照任务关键标准进行响应。
此服务将包含许多列表以最小化数据库交互并获得性能,我估计在正常情况下列表的平均大小为250,00。
使用LINQ查询来自这些队列的数据是一个好主意,还是应该遵循我创建索引列表的原始计划?
索引列表是Idictionary
的自定义实现,它将像索引一样工作,并将具有许多面向性能的功能,如MRU,索引重建等。
答案 0 :(得分:10)
在推出自己的解决方案之前,您可能需要查看i4o,一个索引的LINQ to Objects提供程序。
否则,听起来应用自己的索引可能是值得的 - 但首先要进行性能测试。 “关键任务”通常是关于可靠性而不是性能 - 如果LINQ to Objects表现良好,为什么不使用它呢?
即使你做最终编写自己的集合,你应该考虑以某种方式使它们成为“LINQ可查询”(这取决于集合的确切性质)......这很好能够写 LINQ查询,即使它不反对vanilla LINQ to Objects。