在Microsoft SQL Server 2008 R2上可笑地减慢查询

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

在laggy查询期间,CPU使用率保持不变,IO率保持较低,页面错误增量也保持较低。 我没有调整任何性能设置在数据库configuration – 这是从设置的所有股票。

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

任何想法可能是什么原因造成的?

也许你有很多BLOB(二进制大OBJectS)存储在你的数据库。 如果你在你的数据库中存储非常大的二进制对象,比如其他数据库,或者是zip包或者什么东西,那会发生这种情况。

这可以成为一个性能杀手,如果你允许人们通过像Sharepoint这样的file upload文件,这是非常有可能的。

联接可以按tempdb性能上的信封。 一般来说,tempdb应该是服务器上最快和最优化的数据库。 现实往往是完全不同的。

Tempdb应该在一个ssd上,而不应该configuration为自动增长。 自动增长可能是一个巨大的性能杀手。 在生产系统上,tempdb应该每个处理器核心有一个分区/文件。