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
1 |
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.
1 |
ALTER TABLE Test SET (LOCK_ESCALATION = TABLE); |
mówi, że można dojść do poziomu tabeli, nawet gdy tabela jest partycjonowana!
Ostatnia opcja:
1 |
ALTER TABLE Test SET (LOCK_ESCALATION = TABLE); |
Ostatnia opcja
1 |
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