gpt4 book ai didi

c# - SQL View 在管理控制台中速度慢但在应用层中速度快

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:00 27 4
gpt4 key购买 nike

这是场景:

  • 我们在 SQL Server 数据库中有一个 View
  • 一个 C# MVC(带有 Entity Framework)应用程序在不同的服务器上运行,并且正在使用这个 View 。当从 App 层请求数据并在不到 2 秒内呈现时,它运行良好,运行速度很快。
  • 在我的本地机器上,我运行 SQL Server 管理控制台,并尝试在 View 上执行完全相同的查询,并且它花费了 45 秒!!!!!!

为什么 SQL Server 需要很长时间来呈现数据?它是应用服务器中的 EF 缓存数据吗?

更多信息:两种情况下的数据库/实例相同。一切都在 VMWare 基础设施之上。

MVC 中的代码:

   using (var planning = new PlanningEntities())
{
this._vwFolderDetailsInstance =
(from m in planning.vwFolderDetails
where m.Id == id
select m).FirstOrDefault<vwFolderDetail>();
}

短信查询窗口代码

   select * from dbo.vwFolderDetail
where ID = (3831)

最佳答案

谢谢大家,在尝试了不同的方法后,我们发现这段代码对 SSMS 造成了问题:

ROW_NUMBER() OVER(ORDER BY nField DESC) AS RowID

毕竟,我们只需要在 EF (MVC) 中使用此 View ,因此在该处可以正常工作,这不是问题。

为什么在 SSMS 而不是在 EF 中?看起来 EF 做的事情比我以前想象的要多。我需要深入挖掘,但现在,我找到了原因。

关于c# - SQL View 在管理控制台中速度慢但在应用层中速度快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33227337/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com