日期范围linq查询效率

时间:2012-02-14 21:52:55

标签: linq date foreach range

我的任务是设计一个页面,为sql server库存数据库生成库存/销售报告,包括以下内容:开始库存,日终库存,交付物品,给定日期的已售商品或天数。

我最终做的是使用for循环来完成需要统计数据的天数范围,并保持从我的查询返回的每一天的统计数据的运行记录。

零件表有一个名为quantity的字段,用于跟踪库存中每个项目的当前库存。交货表包含交付物品的时间记录,销售表中包含销售时间的记录。

由于某些限制,我只能通过获取当前库存数量并从中减去交付数量并将该数量加到该数量来计算某一特定日期的期末库存。那天卖了。然后,我在所需的日期范围内每天执行x次,同时保持总计的运行记录。

要获取一天的统计信息,以下查询会充分执行,但如果在一段天内需要统计信息,则性能会严重恶化。正如我所说,我对linq不是很熟练,并且非常感谢任何有助于提高以下查询性能的帮助。

编辑:代码被破坏

2 个答案:

答案 0 :(得分:2)

提高性能的最佳方法是通过创建视图将所有这些逻辑移动到数据库中。在加入和摸索数据方面,要比数据库更快,很难。

答案 1 :(得分:2)

对于这种复杂的查询,LINQ根本不适合这项工作。 “统计”视图可以让您轻松查询获取个人统计信息所需的内容,然后汇总应该很容易从那里获得