Таблица SQL Server блокируется в длинном запросе - Решение: NoLock?
отчет в моем приложении выполняет запрос, который требует от 5 до 15 секунд (ограничено числом строк, которые будут возвращены). Запрос имеет 8 соединений почти со всеми основными таблицами моего приложения (клиенты, продажи, единицы и т. Д.).
Небольшой инструмент показывает мне, что в это время все эти 8 таблиц заблокированы с помощью общей блокировки таблиц. Это означает, что в это время операция обновления не будет выполняться.
Решение от друга состоит в том, чтобы иметь каждое соединение в запросе, что не является обязательным, чтобы иметь 100% правильные данные (грязное чтение), с NoLock, так что только 1 из этих 8 таблиц будет заблокирована полностью. Это хорошее решение? Для отчета, в котором 99% данных поступили из одной таблицы, разблокируйте менее первичные таблицы?