Microsoft SQL Server 2008 R2 上的查询速度非常慢

Microsoft SQL Server 2008 R2 上的查询速度非常慢

我在开发机器上的 MS SQL Server 2008 R2 中遇到了非常慢的查询。这个问题困扰了我大约一个月。其他开发人员没有同样的问题,但我们都运行相同的代码。似乎任何包含的查询都JOIN需要 20 多秒,有些甚至需要一分钟。插入和更新都很快。总数据库大小约为 30MB,所以它并不大。

在查询延迟期间,CPU 使用率保持平稳,IO 速率保持较低,页面错误增量也保持较低。我没有调整数据库配置中的任何性能设置 - 一切都是设置中的原样。

连接到 SQL 服务器的软件与它在同一台机器上运行。我尝试了多个开发数据库副本和已知没有问题的客户数据库,但都无济于事。

知道可能是什么原因造成的吗?

答案1

也许您的数据库中存储了大量 BLOB(二进制大对象)。如果您在数据库中存储了非常大的二进制对象(例如其他数据库,或者可能是 zip 包等),就会发生这种情况。

这可能会影响性能,如果您允许人们通过 Sharepoint 之类的工具上传文件,则很有可能出现这种情况。

答案2

连接可以对 tempdb 性能产生影响。一般来说,tempdb 应该是服务器上速度最快、最优化的数据库。但实际情况往往大相径庭。

Tempdb 应该放在 ssd 上,并且不应将其配置为自动增长。自动增长可能会严重影响性能。在生产系统上,tempdb 应该每个处理器核心都有一个分区/文件。

相关内容