我对主题名称进行了一些搜索,但是没有找到有用的答案。大多数问题是关于表的列数对查询性能的影响,而我需要知道在C#MVC项目中表的行数对linq查询响应时间的影响。实际上,我有一个Web MVC项目,在该项目中,我尝试使用来自服务器的ajax调用来设置警报并将其显示在客户端的Web网格中。在使用setTimeOut方法创建的循环中,每个ajax调用每60秒执行一次。警报表(在SQL Server数据库中)中的行数逐渐增加,一周后,达到数千行。起初在午餐项目时,我可以在浏览器(Chrome)的DevTools中看到,每个ajax调用花费的时间约为1秒左右。但是这个时间每天都在增加,一周后每次成功调用ajax都需要2分钟以上的时间。这导致大约5个ajax调用始终处于待处理队列中。我确定在客户端(JQuery)和服务器(C#)端代码中都没有内存泄漏,因此,我怀疑的唯一罪魁祸首是对警报表执行的SELECT Query响应时间。我感谢任何建议。
答案 0 :(得分:0)
检查在数据库中执行的查询。有两种选择:
但是,在您的表中只有几千行的情况下,我怀疑扫描表将花费2分钟的时间,因此选项1更有可能是造成此速度下降的原因。