Проблема изоляции моментального снимка SQL Server 2008 R2

Я использую SET TRANSACTION ISOLATION LEVEL SNAPSHOT с включенным моментальным снимком в базе данных, но я замечаю, что если я сделаю простой оператор удаления, такой как

BEGIN TRANSACTION
DELETE * FROM TableA
INSERT INTO TableA(...) SELECT (...) FROM TableB
COMMIT TRANSACTION

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

SET TRANSACTION ISOLATION LEVEL SNAPSHOT

SELECT ID FROM TableA WHERE SomeColumn = 'A'

Сканирует таблицу, если выполняются операторы DELETE / INSERT, в противном случае выполняется поиск по индексу. Это ожидаемое поведение?

0 ответов

Другие вопросы по тегам