SQL Server: время локального запроса против Время сетевого запроса … и блокировки

#sql-server #locking

#sql-сервер #блокировка

Вопрос:

Запрос из представления во временную таблицу может вставить 800 тыс. записей менее чем за 30 секунд. Однако запрос из представления в мое приложение по сети занимает 6 минут. Сервер создает набор данных, а затем отправляет его, снимая любые блокировки, полученные после построения набора данных? Или блокировки удерживаются в течение всех этих 6 минут?

Ответ №1:

Сервер создает набор данных, а затем отправляет его, снимая любые блокировки, полученные после построения набора данных?

Если вы используете МОМЕНТАЛЬНЫЙ СНИМОК с ФИКСАЦИЕЙ ЧТЕНИЯ или изолированы от моментального СНИМКА, то в первую очередь нет блокировок строк и страниц.

Прошлое, которое зависит от того, является ли это планом потокового запроса или нет. При использовании плана потоковой передачи SQL Server может медленно считывать данные из таблиц, поскольку результаты передаются по сети.