我正在针对Microsoft SQL Server 2005运行一个简单的 select * from table
查询。该表包含大约41000条带有PK聚簇索引的记录,而我正在使用Windows集成身份验证。
当我使用Microsoft SQL Server Management Studio在我的计算机上运行此查询时,查询在大约1小时45分钟内完成。我尝试从网格切换到文本输出,使用SQLCMD
从命令行运行它还尝试在查询之前执行DBCC USEROPTIONS
,DBCC DROPCLEANBUFFERS
,DBCC FREEPROCCACHE
...没有改变查询速度。
当我使用我的凭据从同事的工作站运行它时,查询会立即正常完成。如果同事使用他们的凭证在我的工作站上运行查询,则查询速度非常慢,如上所述。
我已经没有想法如何解决这个问题了。不知何故,问题似乎与我的机器有关,但我无法理解它。还请考虑以下事项:
select count(*) from table
时,查询正常完成,没有任何延迟。任何人都可以理解这里可能出现的问题吗?为什么从我的机器上运行它的速度非常慢但是它从另一个工作站正常执行?... 是否有任何建议的操作步骤来解决此问题?
提前感谢大家!
答案 0 :(得分:1)
我发现了问题 - 这是一个网络适配器驱动程序更新。一旦我回滚驱动程序,查询按预期执行没有延迟!
我花了很长时间来解决这个问题。为了记录我的网卡是“英特尔(R)82579LM千兆网络连接”流氓网络驱动程序来自Windows更新。 我的工作站是HP 8200 Elite。驱动程序回滚后,我下载了从HP支持站点安装的最新网络驱动程序,这似乎是解决方案 - 到目前为止,我没有遇到运行缓慢的SQL查询的问题:)
答案 1 :(得分:0)
你是否硬连线到局域网?无线上网?检查您的网络延迟,您提供的所有内容似乎都很正常。 Ping您的数据库服务器以检查它。
我要检查的下一件事是确保当时服务器或数据库上没有其他任何东西在运行。防病毒软件,测试,任何可能减慢数据库速度的东西。此外,您是否通过虚拟框运行此查询?从本地服务器和远程盒中获取执行计划,并将它们并排比较。它们应该是一样的。如果他们不是,你知道有一个问题。
还要检查每个连接执行查询的用户SET选项。这可能会产生影响。如果这些都不成问题,我的下一个猜测是硬件或配置失败