0
我已經安裝了一個ASP.NET MVC應用程序,並通過天藍色將它連接到數據庫。在這裏,我有一個trafficlog表,其中包含1M以上的條目,當您嘗試在視圖中打開它時,這些條目會收取費用 - 所以我實現了分頁。MVC中的db查詢性能不佳
這是控制器的功能我用得到的條目:
public ActionResult Index(int startIndex){
var trafficlog = db.TrafficLog.OrderByDescending(t => t.time).Skip(startIndex).Take(100);
return View(trafficlog.ToList());
}
不幸的是,這是緩慢的地獄,並返回條目之前出時間。
爲什麼這是一個問題?我假設從數據庫中只需要100個項目,這會使性能非常迅速,但它似乎仍然能夠獲得所有條目。
使用SQL server explorer並直接聯繫數據庫,我得到一個近乎即時的響應,所以我知道SQL服務器沒有問題。
使用事件探查器捕獲正在執行的SQL查詢,並在Management Studio中手動執行該查詢。 – JodyT
您正在使用哪個ORM? – Fredou
將流量記錄添加到手錶中,您將看到將針對您的db運行的整個SQL語句。 – heymega