Informatik Datenbanken – Indizes und Query-Optimierung
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Was ist ein Datenbankindex? · Wie funktioniert ein B-Tree-Index?
Karten
15 KartenWas ist ein Datenbankindex?
Rückseite
Eine Datenstruktur, die schnellen Zugriff auf Zeilen ermöglicht, ohne die gesamte Tabelle zu scannen – ähnlich einem Buchregister.
Wie funktioniert ein B-Tree-Index?
Rückseite
Balancierter Baum mit Wurzel-, Zwischen- und Blattknoten; ermöglicht logarithmische Suche, Bereichsabfragen und sortierte Ausgabe in O(log n).
Was ist der Unterschied zwischen B-Tree- und Hash-Index?
Rückseite
B-Tree unterstützt Bereichsabfragen und Sortierung; Hash-Index nur Gleichheitsprüfungen (O(1)), aber keine ORDER BY oder Ungleichheitsoperatoren.
Was kennzeichnet einen Clustered Index?
Rückseite
Bestimmt die physische Speicherreihenfolge der Tabellendaten; eine Tabelle kann nur einen Clustered Index haben (oft Primary Key).
Was ist ein Non-Clustered Index?
Rückseite
Separate Struktur mit Zeigern auf die Datenzeilen; mehrere pro Tabelle möglich; erfordert zusätzlichen Lookup bei nicht abgedeckten Spalten.
Was bedeutet Index-Selektivität?
Rückseite
Verhältnis eindeutiger Indexwerte zur Zeilenanzahl; hohe Selektivität (nahe 1) macht Index für Optimizer attraktiv, niedrige führt zum Full Scan.
Wann nutzt der Query-Optimizer einen Index nicht?
Rückseite
Bei geringer Selektivität, Funktionsaufrufen auf indizierten Spalten (WHERE UPPER(name) = ...), impliziten Konvertierungen oder wenn Statistics veraltet sind.
Was zeigt ein Execution Plan?
Rückseite
Die vom Optimizer gewählte Ausführungsstrategie: Operatoren (Scan, Seek, Join), geschätzte/aktuelle Zeilen, Kosten und Index-Nutzung pro Schritt.
Was unterscheidet Index Scan von Index Seek?
Rückseite
Scan liest alle Indexseiten sequenziell; Seek navigiert gezielt über Baumstruktur zu qualifizierenden Zeilen – Seek ist bei Selektivität deutlich schneller.
Was ist ein Covering Index?
Rückseite
Non-Clustered Index, der alle Spalten einer Abfrage (SELECT, WHERE, JOIN, ORDER BY) enthält – vermeidet teure Key Lookups vollständig.
Wie verbessert man Join-Performance durch Indizes?
Rückseite
Indizes auf Join-Spalten (Foreign Keys) anlegen; Join-Reihenfolge über Statistics beeinflussen; Nested Loops bei kleinen, Hash/Merge bei großen Mengen bevorzugen.
Was bewirken Index-Fragmentierung und Rebuild?
Rückseite
Fragmentierung streut logische Reihenfolge physisch; Rebuild reorganisiert Seiten, aktualisiert Statistics und stellt Füllfaktor wieder her – verbessert Scan-Geschwindigkeit.
Was bedeutet Parameter Sniffing?
Rückseite
Optimizer erstellt Plan bei erster Ausführung mit konkreten Parameterwerten; bei späteren anderen Werten kann Plan suboptimal sein (Plan Cache Problem).
Wann sind Composite-Indizes sinnvoll?
Rückseite
Bei Abfragen mit mehreren WHERE-Spalten; Spaltenreihenfolge nach Selektivität (höchste links); deckt auch Präfix-Suchen ab (linkste Spalten).
Was ist ein Filtered/Partial Index?
Rückseite
Index mit WHERE-Klausel (z. B. WHERE status = 'aktiv'); kleiner, schneller zu warten, nur für relevante Teilmenge – ideal für schiefverteilte Daten.