0
в проекте mvc Я использую этот метод. Однако, когда база данных становится все больше и больше, она идет очень медленно. Как я могу это решить?Linq groupby проблема с производительностью
private List<SelectListItem> getDates() {
var db = new _Entities();
var list = new List<SelectListItem>();
var date = db.Location
.GroupBy(k => EntityFunctions.TruncateTime(k.DateServer))
.ToList();
//var date = db.Location.Select(m => m.DateService).Distinct();
foreach (var x in date)
{
list.Add(
new SelectListItem
{
Value = x.FirstOrDefault().DateServer.Date.ToShortDateString(),
Text = x.FirstOrDefault().DateServer.ToShortDateString()
});
}
return list;
}
Кстати, текст и значение совпадают, так как вы группируете по дате. –
Возможно, вам нужно посмотреть, какой запрос выдает, созданный любым решением. Исходя из того, что вашей базе данных может понадобиться индекс. –
Вы действительно хотите больше времени для группировки данных. Если вы не допустили ошибку начинающего (отсутствующий индекс - jikes) - это факт. Итак, фокус в том, чтобы отфильтровать данные перед группой. Или получить лучшее оборудование. Или кеш приводит к памяти. – TomTom