我在每200毫秒运行一次的SQL Server 2008 Express SP2数据库上有一个很大的存储过程。正常执行时间约为50ms。我所看到的是在这个运行时间中存在很大的不一致。它会执行一段时间,比如在预期的40-60ms执行50-100次,然后看起来随机地执行相同的存储过程将花费更长的时间,比如说运行900ms或1.5秒。有时连续调用同一过程的时间也会更长。SQL Server Express 2008存储过程执行时间周期性高峰
似乎有什么东西导致sql server每分钟大幅度减速,但我无法弄清楚什么。发生之间没有时间模式。
我在两台不同的计算机上有相同的设置,其中一台是干净的XP专业版加载,没有病毒检查,没有安装除SQL服务器。
此外,所有数据库的恢复选项均设置为“简单”。
SP做了什么?大量的读取或写入或两者? – spender 2010-05-13 00:20:28
,这是唯一击中服务器?如果SP正在将行插入表中,而另一组查询正在运行以读取该表,则可能因为其他进程而正在运行锁争用。如果这是在执行大量的插入操作,则可能还会遇到一些排序页面的过程。 – 2010-05-13 00:26:30
建议您启动SQL 2008的Data Collector:http://msdn.microsoft.com/en-us/library/bb677248.aspx – 2010-05-13 00:31:54