Как ни странно, мне нужно замедлить SQL-запрос. В настоящее время я использую Microsoft SQL Server 2008 R2 на собственном сервере разработки с базой данных AdventureWorks. Я тестирую код, и запросы, которые я запускаю, слишком быстры, независимо от того, что я пытаюсь сделать.
В основном я тестирую функцию отсечки и нуждаюсь в достаточно длинном запросе, чтобы иметь возможность отключить его, прежде чем он завершится.
К сожалению, поскольку это локальная установка, в базе данных AdventureWorks нет ни одного запроса, ни достаточно большой таблицы, чтобы на самом деле дать мне хорошие данные для работы. Я пробовал
WAITFOR DELAY '01:00'
Который работал отлично, чтобы просто проверить, чтобы убедиться, что он работает, но теперь мне нужно проверить, могу ли я сократить поток данных с середины чтения. Заявление WAITFOR не дает мне справедливости в этом отношении, потому что мне нужно, чтобы он активно возвращал данные с сервера. Моя первая интуиция заключалась в том, чтобы использовать свернутые вычисления, чтобы замедлить ее работу, однако даже когда SQL Server умножает все числовые значения в запросе сами по себе, 37 раз только замедлял запрос на миллисекунды. Вторая вещь, которую я пробовал, - это встраивание оператора WAITFOR
в подзапрос, но, похоже, вы не можете этого сделать. Наконец, единственное, что я не пробовал, - это выполнить несколько хранимых процедур и WAITFOR
между ними, но я не думаю, что это сработало бы для того, что мне нужно.
Я должен сказать, что я впечатлен тем, насколько сложно сделать абсолютно ужасный запрос, когда вы близко к серверу.
Можно ли легко замедлить запрос?
Спасибо!