我怎样才能改善我下面的LINQ查询

本文关键字:LINQ 查询 | 更新日期: 2023-09-27 18:07:36

如何改进下面的LINQ查询以获得更好的性能?

result = (from cd in dataContext.vRetailerWeeks
          where cd.MasterTrackingGroupID == masterTrackingGroupId
             && cd.RetailerWeek <= (from cd1 in dataContext.vCalendarDates
                                    where
                                        cd1.MasterTrackingGroupID == masterTrackingGroupId &&
                                        cd1.CalendarDate == retailerWeekDateTime
                                    select cd1.RetailerWeek).FirstOrDefault()
          orderby cd.RetailerWeek descending 
          select cd.RetailerWeek).Take(weekNo).ToList();

我怎样才能改善我下面的LINQ查询

问题是你是否需要改进你的linq查询或者你的数据库索引。

获取开始生成的SQL的最佳方式(使用SQL分析器,或从数据上下文记录它)。

如果您对生成的SQL满意,则不需要进一步更改linq查询,它已经完成了它的工作。因此,请在Management Studio中尝试此SQL并检查查询计划。从那里你可以优化你的索引。

如果您不满意,请继续执行linq查询