数据库版本:Microsoft SQL Server 2005 – 9.00.4035.00(Intel X86)2008年11月24日13:01:59版权所有(c)1988-2005 Microsoft Corporation速成版与Windows NT 5.1上的高级服务(内部版本2600:Service Pack 3)
我有一个约7000行的表格,可以在表格中的几个文本字段上进行全文search。 如果我运行以下查询:
dbcc freeproccache dbcc dropcleanbuffers set statistics time on select * from Codes where CONTAINS([level1AltDesc], '"Unspec*"') set statistics time off
我每次都得到正确的一致结果。 然而,过去的时间和CPU时间可以相当疯狂地变化。 执行多次我在消息中获得以下内容:
DBCC执行完成。 如果DBCC打印错误消息,请联系您的系统pipe理员。 DBCC执行完成。 如果DBCC打印错误消息,请联系您的系统pipe理员。
- 缓慢的Windows共享存储的networking行为
- 如何弄清楚Xen中的磁盘性能?
- 测量客户端和我们的服务器之间的上传速度
- 如何解释顶部报告的SHR增加?
- 什么是使用我所有的WordPress的VPS托pipe我的记忆
(861行受影响)
SQL Server执行时间:CPU时间= 0毫秒,经过时间= 251毫秒。
运行几次,我得到:
DBCC执行完成。 如果DBCC打印错误消息,请联系您的系统pipe理员。 DBCC执行完成。 如果DBCC打印错误消息,请联系您的系统pipe理员。
(861行受影响)
SQL Server执行时间:CPU时间= 15毫秒,经过时间= 869毫秒。
我试着用IO STATISTICS运行,但是它们从不改变。 我试过使用SQL事件探查器,但只是在经过的时间看到相同的差异。 我只是添加了相当标准的事件,所以我可能会错过这个解释。
我已经看到使用存储过程,而不是作为独立查询相同的行为。 作为存储过程运行,然后查询sys.dm_exec_query_stats我可以看到total_elapsed_time明显高于total_worker_time。
由于这是在一个专门的testing机器,我作为唯一的用户,没有来自其他来源的负载,没有明显的负载(平均98-99%CPU空闲)我有点担心可能会发生什么生产当系统在较重负载下运行时。
关于什么可能会导致执行时间的这种狂野摇摆以及我能做些什么?