Alles, was Entwickler über SQL Performance wissen müssen
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 —
UPPERundLOWERBenutzerdefinierte 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 SpaltenreihenfolgeSQL
LIKEFilter Indizieren —LIKEist keine VolltextsucheIndizes kombinieren — Warum nicht einen Index für jeder Spalte?
Partielle Indizes — Ausgewählte Zeilen indizieren
NULLin der Oracle Datenbank — Eine wichtige KuriositätNULLim Index — Jeder Index ist ein partieller IndexNOT NULLConstraints — beeinflussen die IndexnutzungPartielle 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
Testen und Skalierbarkeit — Über Hardware
Auswirkungen des Datenvolumens — Schlampige Indizierung schlägt zurück
Auswirkungen der 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 —
LIKEtunenIndex-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/DESCundNULLS FIRST/LAST— die Indexreihenfolge ändernIndexed 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
Ausführungspläne — Ausführungspläne holen und lesen
MySQL • Oracle • PostgreSQL • SQL Server
Mythen-Verzeichnis — Verbreitete Mythen und Irrglauben
Beispiel Schema —
CREATEundINSERTSkripteMySQL • Oracle • PostgreSQL • SQL Server
Bleib am Ball:
RSS Feed
Like on Facebook
Follow me on Twitter
+1 auf Google+

Senden und Abbonieren
RSS FeedFlattr mich! Folge mir auf Twitter+1 auf Google+Gefällt auf Facebook