10.1 Indizes, Transaktionen, Trigger und Routinen
Indizes beschleunigen passende Zugriffe, Transaktionen bündeln Änderungen atomar, Trigger reagieren automatisch auf Datenereignisse und Routinen kapseln serverseitige Abläufe. Jedes Werkzeug löst ein anderes Problem.
Indizes gezielt einsetzen
Ein Index hält Suchschlüssel in einer zusätzlichen Struktur und kann Filter, JOINs und Sortierungen beschleunigen. Dafür benötigt er Speicher und verursacht Aufwand bei INSERT, UPDATE und DELETE. Reihenfolge und Selektivität der Spalten sind bei zusammengesetzten Indizes entscheidend.
Indizes werden aus realen Abfragen und Ausführungsplänen abgeleitet. „Jede Spalte indexieren“ ist ebenso falsch wie „Indizes machen jede Abfrage schnell“.
Index und Analyse
CREATE INDEX idx_bestellung_kunde_datum
ON bestellung (kunden_id, bestellt_am);
EXPLAIN SELECT * FROM bestellung
WHERE kunden_id = 42 ORDER BY bestellt_am DESC;Transaktionen und ACID
- Atomicity: Alle Schritte gelten gemeinsam oder gar nicht.
- Consistency: Constraints und Regeln führen von einem gültigen Zustand in den nächsten.
- Isolation: Gleichzeitige Transaktionen beeinflussen sich nur gemäß Isolationsstufe.
- Durability: Bestätigte Änderungen überstehen einen vorgesehenen Ausfall.
Überweisung
START TRANSACTION;
UPDATE konto SET saldo = saldo - 100 WHERE konto_id = 1;
UPDATE konto SET saldo = saldo + 100 WHERE konto_id = 2;
COMMIT; -- bei Fehler stattdessen ROLLBACKTrigger und Routinen
Trigger laufen automatisch bei Ereignissen wie INSERT, UPDATE oder DELETE. Sie eignen sich für eng datenbezogene Regeln oder Auditinformationen, können Abläufe aber unsichtbar und schwer testbar machen. Stored Procedures und Functions kapseln wiederverwendbare Logik im DBMS; Portabilität und Verantwortungsgrenzen zur Anwendung sind abzuwägen.
Quellen zur fachlichen Prüfung
PDF-Download nach Anmeldung
Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.
