Выбрать запрос - как показать результаты во время выполнения запроса - PullRequest
0 голосов
/ 04 октября 2019

Я выполняю запрос SQL Server, который выглядит следующим образом:

select *
from Table1
where Column1='12345'

Поскольку база данных слишком велика, выполнение запроса занимает более 1 часа. Если я остановлю запрос, скажем, на 30 минут, я получу более 20 строк, появляющихся в качестве результатов.

Есть ли способ последовательно просматривать эти строки по мере их выборки, не дожидаясь завершения запроса или безнеобходимость остановить запрос?

Ответы [ 3 ]

1 голос
/ 04 октября 2019

Этот запрос поможет вам увидеть первые 20 строк без необходимости останавливать запрос. Вы можете использовать оператор order by перед подсказкой OPTION, как показано ниже;

select *
from Table1
where Column1 = '12345'
OPTION ( FAST 20)

select *
from Table1
where Column1 = '12345'
order by Column1
OPTION ( FAST 20)

Также вы можетесм. эту ссылку для более подробной информации FAST number_rows hint

0 голосов
/ 04 октября 2019

Попробуйте этот запрос ниже. Он будет получать данные очень быстро. Может быть, это будет работать для вас.

select * from Table1 where Column1 = '12345' option(maxdop 4)
0 голосов
/ 04 октября 2019

Возможно, это из-за одновременных транзакций, поэтому используйте ключевое слово nolock, как показано ниже

select * from Table1 WITH NOLOCK
where Column1='12345'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...