Middle
Welke soorten blokkades bestaan er in SQL?
sobes.tech AI
Antwoord van AI
Soorten blokkeringen in SQL:
-
Op niveau:
- Tabelblokkering (Table Locks): Blokkeert de hele tabel. Eenvoudig te implementeren, maar kan de paralleliteit aanzienlijk verminderen. Geschikt voor operaties die de hele tabel wijzigen (bijvoorbeeld
ALTER TABLE). - Rijblokkering (Row Locks): Blokkeert individuele rijen. Biedt hoge paralleliteit, maar vereist meer middelen voor beheer. Standaard in de meeste DBMS voor
INSERT,UPDATE,DELETE.
- Tabelblokkering (Table Locks): Blokkeert de hele tabel. Eenvoudig te implementeren, maar kan de paralleliteit aanzienlijk verminderen. Geschikt voor operaties die de hele tabel wijzigen (bijvoorbeeld
-
Op toegangstype:
- Gedeelde blokkering (Shared Lock - S Lock): Staat meerdere transacties toe om gegevens gelijktijdig te lezen, maar verhindert schrijven door anderen.
- Exclusive Lock - X Lock: Staat slechts één transactie toe om toegang te krijgen tot de gegevens (lezen en schrijven) en blokkeert anderen.
- Intentie Lock: Geeft aan dat transacties van plan zijn een blokkering op een lager niveau (rijen of tabellen) te plaatsen. Bijvoorbeeld,
IS(Intention Shared),IX(Intention Exclusive). Helpt DBMS sneller de compatibiliteit van blokkeringen te controleren.
-
Andere types:
- Range Lock: Blokkeert een bereik van rijen in een index. Gebruikt om phantom reads te voorkomen.
- Metadata Lock: Blokkeert de metadata van het object (tabel, view, enz.). Gebruikt bij DDL-operaties.
De compatibiliteit van blokkeringen bepaalt of meerdere transacties gelijktijdig bepaalde types blokkeringen op hetzelfde object kunnen behouden.
| Type blokkering | S | X | IS | IX |
|---|---|---|---|---|
| S | Ja | Nee | Ja | Nee |
| X | Nee | Nee | Nee | Nee |
| IS | Ja | Nee | Ja | Ja |
| IX | Nee | Nee | Ja | Ja |