[英]SQL Server Performance and Query Execution
在困难时期前的几天..,
我已经为大学生开发了在线入学申请流程,并且非常成功。
让我解决我面临的问题,
我开发了一个仪表板,假设该仪表板显示每个类别中没有应用的学生人数。 为了实现这一点,我有以下查询。
Select count(*)
from Student_AdmissionDetails
inner join StudentCategory
on Student_AdmissionDetails.Id=StudentCategory.Id
where CategoryTypeName=@ParameterValue
上面的查询在单页上被触发3次。 大约有250-300名用户同时访问同一页面。除了录取表格,还有1300-2000名学生同时填写表格。
我得到的问题是,当我在sql服务器中运行以上查询时,它在5次中被触发了1次。 它引发错误,指出从内存访问对象时发生了死锁 (请原谅我没有记住确切的错误)。
我从以下帖子中寻找的是:
我想以下几点将有助于回答我的问题。
很抱歉写了这么长时间,但是我真的需要帮助来学习:)
尝试通过添加WITH (NOLOCK)
更新您的SELECT
语句。 这会使您的结果不太精确,但似乎足以满足您的仪表板要求。
另外,最好在WHERE
子句中使用类似于整数CategoryTypeId
不要使用CategoryTypeName
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.