#sql-server #locking
#sql-сервер #блокировка
Вопрос:
Запрос из представления во временную таблицу может вставить 800 тыс. записей менее чем за 30 секунд. Однако запрос из представления в мое приложение по сети занимает 6 минут. Сервер создает набор данных, а затем отправляет его, снимая любые блокировки, полученные после построения набора данных? Или блокировки удерживаются в течение всех этих 6 минут?
Ответ №1:
Сервер создает набор данных, а затем отправляет его, снимая любые блокировки, полученные после построения набора данных?
Если вы используете МОМЕНТАЛЬНЫЙ СНИМОК с ФИКСАЦИЕЙ ЧТЕНИЯ или изолированы от моментального СНИМКА, то в первую очередь нет блокировок строк и страниц.
Прошлое, которое зависит от того, является ли это планом потокового запроса или нет. При использовании плана потоковой передачи SQL Server может медленно считывать данные из таблиц, поскольку результаты передаются по сети.