Asp.net SQL Server性能和查询执行
几天前,这是一段艰难的时光 我已经为大学生开发了一个网上录取流程的应用程序,非常成功 让我来谈谈我面临的问题Asp.net SQL Server性能和查询执行,asp.net,sql,sql-server,sql-server-2008,sql-server-2008-r2,Asp.net,Sql,Sql Server,Sql Server 2008,Sql Server 2008 R2,几天前,这是一段艰难的时光 我已经为大学生开发了一个网上录取流程的应用程序,非常成功 让我来谈谈我面临的问题 该问题涉及两个表:Student_AdmissionDetails(包含近30-35个字段,其中大多数字段的数据类型为nvarchar(70)),另一个是StudentCategory 从入学程序开始的几天后,学生的录取细节有大约30万条记录,学生类别有4条记录 我已经开发了一个仪表板,我想在其中显示每个类别中没有申请的学生。为了实现这一点,我提出了以下问题 选择计数(*) 来自学生入学
选择计数(*)
来自学生入学详细信息
内部连接学生类别
关于学生的录取详情。Id=StudentCategory.Id
其中CategoryTypeName=@ParameterValue
- 这一次我有点幸运,因为我的编码没有让别人不高兴,但有人能告诉我如何克服这种情况吗。处理大型数据库的最佳方法是什么
- 我试图用SQL profiler解决这个问题,但由于还有5个应用程序运行类似的程序,我无法确定有多少用户试图访问相同的资源
- 应用服务器和数据库服务器不同
- DB服务器是在WindowsXP上运行的(我猜!),它的RAM是128GB
- 当我从SQL Server执行查询时,执行查询平均需要12-15秒
很抱歉写这么长,但我真的需要帮助来学习:)尝试更新您的
SELECT
语句,添加和(NOLOCK)
。这将使您的结果不那么精确,但似乎对于您的仪表板来说已经足够了
<> >在<<代码> < <代码> > < /p>中,最好使用整数[<代码>类别yType ID >代码> > <代码> < /p> >如果你需要这个代码>计数>代码>,你可以考虑使用索引代码>代码>按CategoryTypeName分组以预先计算计数。您最好还是为包含索引的表创建表。是的。我不是SQL管理团队的成员,但他们要求我解决问题,但我无法解决。但是,是的,谢谢您的回复。我检查了你发布的链接,它只给出死锁图。但是如何解决这个问题呢