Middle
SQL-də hansı növ bloklamalar mövcuddur?
sobes.tech Süni İntellekt
AI-dan cavab
SQL-də kilid növləri:
-
Səviyyəyə görə:
- Cədvəl kilidləri (Table Locks): Bütün cədvəli kilidləyir. Asan tətbiq olunur, amma paralelliyi əhəmiyyətli dərəcədə azalda bilər. Cədvəli tam dəyişdirən əməliyyatlar üçün uyğundur (məsələn,
ALTER TABLE). - Sətir kilidləri (Row Locks): Fərdi sətirləri kilidləyir. Yüksək paralellik təmin edir, amma idarə üçün daha çox resurs tələb edir. Əksər DBMS-lərdə
INSERT,UPDATE,DELETEüçün standartdır.
- Cədvəl kilidləri (Table Locks): Bütün cədvəli kilidləyir. Asan tətbiq olunur, amma paralelliyi əhəmiyyətli dərəcədə azalda bilər. Cədvəli tam dəyişdirən əməliyyatlar üçün uyğundur (məsələn,
-
Giriş növünə görə:
- Paylaşılan kilid (Shared Lock - S Lock): Bir neçə əməliyyatın məlumatları eyni vaxtda oxumasına imkan verir, amma digər yazma əməliyyatlarını qadağan edir.
- Eksklüziv kilid (Exclusive Lock - X Lock): Yalnız bir əməliyyatın məlumatlara girişinə imkan verir (oxuma və yazma) və digər əməliyyatları bloklayır.
- Niyyət kilidi (Intention Lock): DBMS-ə göstərir ki, əməliyyatlar aşağı səviyyədə (sətirlər və ya cədvəllər) kilid qoymağı planlaşdırır. Məsələn,
IS(Intention Shared),IX(Intention Exclusive). Bu, DBMS-ə kilidlərin uyğunluğunu daha sürətli yoxlamağa kömək edir.
-
Digər növlər:
- Aralıq kilid (Range Lock): İndeksdəki sətir aralığını bloklayır. Phantom oxumağı qarşısını almaq üçün istifadə olunur.
- Metadatanın kilidi (Metadata Lock): Ob'ektin metadatasını (cədvəl, görünüş və s.) bloklayır. DDL əməliyyatları zamanı istifadə olunur.
Kilidlərin uyğunluğu, bir neçə əməliyyatın eyni zamanda müəyyən növ kilidləri saxlaya biləcəyini müəyyən edir.
| Kilid növü | S | X | IS | IX |
|---|---|---|---|---|
| S | Bəli | Xeyr | Bəli | Xeyr |
| X | Xeyr | Xeyr | Xeyr | Xeyr |
| IS | Bəli | Xeyr | Bəli | Bəli |
| IX | Xeyr | Xeyr | Bəli | Bəli |