我有以下linq查詢,產生一個非常大的SQL。通過分組生成一個巨大的查詢
var visits = _db.Visits.AsNoTracking().GroupBy(x => x.City)
.Select(group => new
{
City = group.Key.Code,
CityName = group.Key.Name,
Count = group.Count()
}).OrderByDescending(x => x.Count);
因爲Visits
表有很多列。但是我只對該分組中的一個列感興趣。
所以這個命中性能和查詢速度很慢。
我怎樣才能讓它更快?
你有沒有索引?\ –
它產生的SQL是什麼? 「城市」是一個單獨的表,「訪問」有一個外鍵? –
我建議你運行SQL事件探查器,預覽一個查詢,運行預覽執行計劃並找到瓶頸。 – pwas