听起来很奇怪,我需要减慢SQL查询。目前,我正在使用AdventureWorks数据库在内部开发服务器上使用Microsoft SQL Server 2008 R2。我正在测试一些代码,并且我运行的查询速度太快,无论我尝试什么!如何减慢SQL查询?
基本上我正在测试一个截断功能,需要足够长的查询才能在完成之前将其关闭。
不幸的是,因为它是一个本地安装,AdventureWorks数据库中没有单个查询或足够大的表来实际给我提供良好的数据。我试过
WAITFOR DELAY '01:00'
这真是棒极了,只是测试,以确保它是工作,但现在我需要测试,看看我是否可以削减数据流断中期阅读。 WAITFOR声明在这方面并不公平,因为我需要它积极地从服务器中检索数据。我的第一个直觉是使用复杂的计算来减慢它的速度,但是即使SQL服务器将查询中的所有数值乘以37次,也只会使查询速度减慢毫秒。我尝试的第二件事是在子查询中嵌入WAITFOR
语句,但看起来你不能那样做。最后,我还没有尝试过的唯一方法是在它们之间执行多个存储过程和WAITFOR
,但我不认为这适用于我所需要的。
我不得不说,当你接近服务器时,要做出绝对可怕的查询是多么困难,我留下了深刻的印象。
有没有什么方法可以轻松减慢查询速度?
谢谢!
只是做一个非常糟糕的查询关闭索引或强制通常良好的查询使用LOOP JOIN时,它应该使用HASH/MERGE ;-) – 2012-06-30 19:23:02
几个自交叉连接将很好地放慢速度......而一个大的结果集会导致IO成为瓶颈。 – Oded