Sobes.tech
Middle

SQLде кандай блоктоо түрлөрү бар?

sobes.tech AI

AIден жооп

SQLдеги блоктоо түрлөрү:

  • Деңгээл боюнча:

    • Таблица блоктоосу (Table Locks): Бардык таблицаны блоктойт. Ишке ашыруусу жөнөкөй, бирок параллелизмди кыйла төмөндөтүшү мүмкүн. Бардык таблицаны өзгөртүү операциялары үчүн жакшы ылайыктуу (мисалы, ALTER TABLE).
    • Саптардын блоктоосу (Row Locks): Атайын саптарды блоктойт. Жогорку параллелизмди камсыз кылат, бирок башкаруу үчүн көбүрөөк ресурстарды талап кылат. Көпчүлүк DBMS'лерде INSERT, UPDATE, DELETE үчүн колдонулат.
  • Кирүү түрү боюнча:

    • Бөлүштүрүлгөн блоктоо (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 Жок Жок Ооба Ооба