Вставка данных в SQL Server блокирует всю таблицу?

Я использую Entity Framework, и я вставляю записи в нашу базу данных, которые включают поле blob. Поле blob может содержать до 5 МБ данных.

При вставке записи в эту таблицу, блокируется ли вся таблица?

То есть, если вы делаете запрос к любым данным из таблицы, она будет блокироваться до тех пор, пока не будет выполнена вставка (я понимаю, что есть способы обойти это, но я говорю по умолчанию)?

Сколько времени пройдет, прежде чем это приведет к тупику? Зависит ли это время от нагрузки на сервер, например, если нагрузка небольшая, то потребуется ли больше времени, чтобы вызвать тупик?

Есть ли способ отслеживать и видеть, что заблокировано в каждый конкретный момент времени?

Если каждый поток выполняет запросы к отдельным таблицам, может ли в этом случае возникнуть блокировка? То есть, разве это не тот случай, когда блокировка может возникнуть только если у вас есть запрос, который имеет объединение и действует на несколько таблиц?

Это с учетом того, что большая часть моего кода - это просто куча операторов select, а не куча долго выполняющихся транзакций или что-то в этом роде.

49
задан Peter Mortensen 28 November 2015 в 01:24
поделиться