- Vorwort — Warum Entwickler indizieren müssen 
- Anatomie eines Indexes — Wie sieht ein SQL Index aus? - Die Blätter — Eine doppelt verkettete Liste 
- Der B-Tree — Ein ausbalancierter Baum 
- Langsame Indizes, Teil I — Zwei Zutaten machen den Index langsam 
 
- Die Where-Klausel — Die Suchgeschwindigkeit verbessern - Der Gleicheheitsoperator — Exakte Bedingungen - Primärschlüssel — Indexnutzung kontrollieren 
- Zusammengesetzte Schlüssel — Mehrspaltige Indizes 
- Langsame Indizes, Teil II — Die erste Zutat, nochmals 
 
- Funktionen — Funktionen in der - where-Klausel- Groß- und Kleinschreibung ignorieren — - UPPERund- LOWER
- Benutzerdefinierte Funktionen — Grenzen der Indizierbarkeit 
- Über-Indizierung — Vermeide Redundanzen 
 
- Parametrisierte Abfragen — Für Sicherheit und Performance 
- Nach Bereichen Suchen — Jenseits der Gleichheit - Größer, Kleiner und - BETWEEN— Beachte die Spaltenreihenfolge
- SQL - LIKEFilter Indizieren —- LIKEist keine Volltextsuche
- Indizes kombinieren — Warum nicht einen Index für jeder Spalte? 
 
- Partielle Indizes — Ausgewählte Zeilen indizieren 
- NULLin der Oracle Datenbank — Eine wichtige Kuriosität- NULLim Index — Jeder Index ist ein partieller Index
- NOT NULLConstraints — beeinflussen die Indexnutzung
- Partielle Indizes emulieren — mit funktions-basierter Indizierung 
 
- Verstümmelte Bedingungen — Verbreitete Anti-Pattern - Datums-Typen — verursachen viele Probleme 
- Numerische Strings — Mische die Typen nicht 
- Spalten zusammenfügen — und redundante - where-Klauseln
- Schlaue Logik — Der schlauste Weg SQL langsam zu machen 
- Mathematik — Datenbanken lösen keine Gleichungen 
 
 
- Performance und Skalierbarkeit — Über Hardware - Das Datenvolumen — Schlampige Indizierung schlägt zurück 
- Die Systemlast — Die Zugriffsrate beeinflusst die Antwortzeit 
- Antwortzeit und Durchsatz — Horizontale Skalierbarkeit 
 
- Die Join Operation — Nicht unbedingt langsam - Nested Loops – verschachtelte Schleifen — Das ORM N+1 Problem 
- Hash Join — Benötigt eine völlig andere Indizierung 
- Sort-Merge Join — Wie ein Zipverschluss auf sortierten Daten 
 
- Daten-Cluster — Daten Zusammenlegen: die zweite Macht - Index-Filterprädikate gezielt einsetzten — - LIKEtunen
- Index-Only Scan – Den Tabellenzugriff vermeiden 
- Index-organisierte Tabellen – Clustered Indizes ohne Tabelle 
 
- Sortieren und Gruppieren — Pipelined - order by: die dritte Macht- Indexed Order By — im Zusammenspiel mit der - where-Klausel
- ASC/- DESCund- NULLS FIRST/- LAST— die Indexreihenfolge ändern
- Indexed Order By — Gruppierung am „Fließband“ 
 
- Teilergebnisse — Effizientes blättern - Top-N Zeilen abfragen — wenn man nur die ersten paar Zeilen braucht 
- Die nächste Seite laden — die Offset- und Seek-Methoden im Vergleich 
- Window-Funktionen — mit analytischen Funktionen blättern 
 
- Insert, Delete und Update — Wie sich Indizierung auf DML auswirkt 
Wenn du diese Seite magst, magst du vielleicht auch …
… meine Newsletter bestellen, gratis Sticker erhalten, mein Buch kaufen oder an einer Schulung teilnehmen.
- Ausführungspläne — Ausführungspläne holen und lesen - Db2 (LUW) : Erstellen • Operationen • Zugriffs- und Filterprädikate 
- MySQL : Erstellen • Operationen • Zugriffs- und Filterprädikate 
- Oracle : Erstellen • Operationen • Zugriffs- und Filterprädikate 
- PostgreSQL : Erstellen • Operationen • Zugriffs- und Filterprädikate 
- SQL Server : Erstellen • Operationen • Zugriffs- und Filterprädikate 
 
- Mythen-Verzeichnis — Verbreitete Mythen und Irrglauben 
- Beispiel Schema — - CREATEund- INSERTSkripts
- Glossar — Die wichtigsten Datenbankbegriffe kurz erklärt 

