В настоящее время я выполняю следующий оператор
select * into adhoc..san_savedi from dps_san..savedi_record
Это занимает мучительно много времени, и я хотел бы посмотреть, как далеко он продвинулся, поэтому я выполнил это:
select count(*) from adhoc..san_savedi with (nolock)
Это ничего не вернуло своевременно, поэтому черт возьми, я сделал это:
select top 1 * from adhoc..san_savedi with (nolock)
Даже это, кажется, работает бесконечно. Я мог бы понять, что если есть миллионы записей, то count(*) может занять много времени, но я не понимаю, почему выбор 1 верхней записи не вернется почти сразу, учитывая, что я указал nolock.
Во имя полного раскрытия, dps_san — это представление, которое извлекается из соединения odbc через связанный сервер. Я не думаю, что это повлияет на то, почему я не могу вернуть верхнюю строку, а просто выбрасываю ее на случай, если я ошибаюсь.
Итак, я хочу знать, что мешает этому оператору работать?
РЕДАКТИРОВАТЬ:
Как я упоминал выше, да, dps_san..savedi_record — это представление. Вот что он делает:
select * from DPS_SAN..root.SAVEDI_RECORD
Это не более чем псевдоним и не выполняет группировку/сортировку/и т.д., поэтому я не думаю, что проблема здесь, но, пожалуйста, просветите меня, если я ошибаюсь.