我在我的mvc項目中使用telerik mvc網格,我的表格有大約1百萬條記錄。我的網格需要花費太多時間來加載。Mvc Telerik grid With large database
這是我的查詢 //
var bib = (from a in db.Bibs
join inf in db.InfoTypes
on a.InfoTypeId equals inf.Id
where a.Status == "A"
select new BibViewModel
{
Id = a.Id,
Type = inf.Type,
InfoType = inf.Description,
Title = (from asd in db.BibContents where asd.BibId == a.Id && asd.TagNo == "245" && asd.Sfld == "a" select asd.Value).FirstOrDefault(),
Author = (from asd in db.BibContents where asd.BibId == a.Id && asd.TagNo == "100" && asd.Sfld == "a" select asd.Value).FirstOrDefault(),
CatalogueDate = a.CatalogDate,
Contents = "",
CreatedOn = a.CreatedOn,
ItemRelation = db.Items.Any(item => item.BibId == a.Id),
IssueRelation = db.Issues.Any(item => item.BibId == a.Id),
});
return View(new GridModel(bib.OrderByDescending(x => x.CreatedOn).Tolist()));
你有一個瘋狂的連接和嵌套搜索。我注意到的一件事是你將狀態存儲爲一個字符串數據類型,它比使用int要求要求更高。如果你刪除where子句'where a.Status ==「A」',而取10000行'取10000'它執行得更快嗎?只是一個可能會導致您找到解決方案的建議。 – OakNinja 2013-02-22 10:25:23
其實我的查詢是不需要太多時間..我返回查詢需要很多時間來返回bcoj我使用Tolist ..如果我刪除tolist然後我有其他錯誤「像超時服務器錯誤」 – 2013-02-22 11:03:36