Middle
SQLде кандай блоктоо түрлөрү бар?
sobes.tech AI
AIден жооп
SQLдеги блоктоо түрлөрү:
-
Деңгээл боюнча:
- Таблица блоктоосу (Table Locks): Бардык таблицаны блоктойт. Ишке ашыруусу жөнөкөй, бирок параллелизмди кыйла төмөндөтүшү мүмкүн. Бардык таблицаны өзгөртүү операциялары үчүн жакшы ылайыктуу (мисалы,
ALTER TABLE). - Саптардын блоктоосу (Row Locks): Атайын саптарды блоктойт. Жогорку параллелизмди камсыз кылат, бирок башкаруу үчүн көбүрөөк ресурстарды талап кылат. Көпчүлүк DBMS'лерде
INSERT,UPDATE,DELETEүчүн колдонулат.
- Таблица блоктоосу (Table Locks): Бардык таблицаны блоктойт. Ишке ашыруусу жөнөкөй, бирок параллелизмди кыйла төмөндөтүшү мүмкүн. Бардык таблицаны өзгөртүү операциялары үчүн жакшы ылайыктуу (мисалы,
-
Кирүү түрү боюнча:
- Бөлүштүрүлгөн блоктоо (Shared Lock - S Lock): Бир нече транзакциялар бир убакта маалыматты окууга уруксат берет, бирок башка транзакциялардын жазуусуна тыюу салат.
- Эксклюзивдүү блоктоо (Exclusive Lock - X Lock): Бир транзакция гана маалыматка кирүүгө уруксат алат (окуу жана жазуу үчүн), жана башка транзакциялардын кирүүсүнө тыюу салат.
- Максаттык блоктоо (Intention Lock): DBMS'ге транзакциялар төмөнкү деңгээлде (саптар же таблица) блоктоо коюуну пландап жатканы тууралуу билдирет. Мисалы,
IS(Максаттуу бөлүштүрүү),IX(Максаттуу эксклюзивдүү). Бул блоктоолордун шайкештигин тез текшерүүгө жардам берет.
-
Башка түрлөрү:
- Диапазон блоктоосу (Range Lock): Индекстеги саптар диапазонун блоктойт. Фантомдук окууну алдын алуу үчүн колдонулат.
- Метадата блоктоосу (Metadata Lock): Объекттин метадата маалыматтарын блоктойт (таблица, көрүүлөр жана башка). DDL-операциялар учурунда колдонулат.
Блоктоо түрлөрүнүн шайкештиги бир убакта бир нече транзакциянын белгилүү түрлөрүн сактап калуусуна мүмкүндүк берет.
| Блоктоо түрү | S | X | IS | IX |
|---|---|---|---|---|
| S | Ооба | Жок | Ооба | Жок |
| X | Жок | Жок | Жок | Жок |
| IS | Ооба | Жок | Ооба | Ооба |
| IX | Жок | Жок | Ооба | Ооба |