如何减少第一个数据库请求中的响应时间在mvc sql调用

如何减少第一个数据库请求中的响应时间在mvc sql调用

问题描述:

我的第一次数据库调用有时花费太长的时间来呈现视图约10-12秒,然后第二次它的速度如500毫秒,然后200毫秒。以下是我在我的项目中的几个案例中运行的代码示例。我正在使用存储过程。我的项目结构是默认的MVC结构如何减少第一个数据库请求中的响应时间在mvc sql调用

using (WebMatrix.Data.Database db1 = WebMatrix.Data.Database.Open("SQLTestDB")) 
      { 
       var PromoDetails = db1.Query("exec GetListingPromosV2 @0", id).ToList(); 
       List<VMListingPromos> Lst = new List<VMListingPromos>(); 

       foreach (var item in PromoDetails) 
       { 
        VMListingPromos Listing_Promo = new VMListingPromos(); 
        Listing_Promo.PromoTitle = item.PromoName; 
        Listing_Promo.Amount = item.Value; 
        Listing_Promo.ExpirationDate = (item.ExpirationDate == null ? "NoDate" : item.ExpirationDate.ToString("MM/dd/yyyy")); 
        Listing_Promo.StartDate = (item.StartDate == null ? "NoDate" : item.StartDate.ToString("MM/dd/yyyy")); 
        Listing_Promo.ListingPromoID = item.ID; 
        Listing_Promo.status = item.status; 
        Lst.Add(Listing_Promo); 
       } 
       return Lst; 
      } 
+0

你在SQL Server Management Studio中得到了什么时间? –

+0

好吧,让我检查请 –

+0

在DB我的SP是花200-300毫秒 –

,如果你有问题的表现,你可以申请:

  • 只有选择字段需要
  • 删除外连接。在加入
  • 删除计算字段和WHERE子句

examp:

起付p JOIN预算b在((年(p.paydate)* 100)+月(p.paydate)) = b.budget_year_month