ALTER TABLE i SET LOCK_ESCALATION

20-Mar-2011

Aparat bazy danych blokując dane dla transakcji może to robić z dokładnością do rekordu, strony, partycji, tabeli.

Opcja  LOCK_ESCALATION określa jak ma się odbywać eskalacja blokad na poziom tabeli, gdy tabela jest partycjonowana.

Instrukcja

ALTER TABLE Test SET (LOCK_ESCALATION = AUTO);

powoduje,  że gdy tabela jest partycjonowana to w procesie ekalacji dojdzie się do blokady partycji. To jest domyślne ustawienie.

ALTER TABLE Test SET (LOCK_ESCALATION = TABLE);

mówi, że można dojść do poziomu tabeli, nawet gdy tabela jest partycjonowana!
Ostatnia opcja:

ALTER TABLE Test SET (LOCK_ESCALATION = TABLE);

Ostatnia opcja

ALTER TABLE Test SET (LOCK_ESCALATION = DISABLE);

powoduje, że do eksalacji nie powinno dochodzić. Są jednak takie sytuacje, jak np skan tabeli bez indeksu klustrowanego w poziomie izolacji SERIALIZABLE tak czy siak dokona blokady na poziomie TABLE

Dodaj komentarz:

Autor: Rafał Kraik