[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

FR | EN | ES | JA ]

von Markus Winand.

Die Where-Klausel


Im vorigen Kapitel haben wir die Struktur eines Indexes untersucht und die Ursachen für langsame Indizes kennengelernt. Im nächsten Schritt betrachten wir, wie man diese Ursachen in SQL-Anweisungen erkennen und vermeiden kann. Dazu beginnen wir mit der where-Klausel.

Die where-Klausel drückt die Suchbedingungen einer SQL-Anweisung aus und fällt damit in die Kernkompetenz eines Indexes: Daten schnell zu finden. Doch obwohl die where-Klausel großen Einfluss auf die Performance hat, wird sie oft sorglos formuliert, sodass ein großer Indexbereich durchsucht werden muss. Das heißt, eine schlecht formulierte where-Klausel liefert die erste Zutat für eine langsame Abfrage.

Dieses Kapitel erklärt, wie sich die verschiedenen Operatoren auf die Indexnutzung auswirken und wie man sicherstellt, dass ein Index von möglichst vielen Abfragen genutzt werden kann. Zum Abschluss werden häufige Fehler vorgestellt und Alternativen aufgezeigt.

Inhalt

  1. Der Gleicheheitsoperator — Exakte Bedingungen

    1. Primärschlüssel — Indexnutzung kontrollieren

    2. Zusammengesetzte Schlüssel — Mehrspaltige Indizes

    3. Langsame Indizes, Teil II — Die erste Zutat, nochmals

  2. Funktionen — Funktionen in der where-Klausel

    1. Groß- und Kleinschreibung ignorierenUPPER und LOWER

    2. Benutzerdefinierte Funktionen — Grenzen der Indizierbarkeit

    3. Über-Indizierung — Vermeide Redundanzen

  3. Parametrisierte Abfragen — Für Sicherheit und Performance

  4. Nach Bereichen Suchen — Jenseits der Gleichheit

    1. Größer, Kleiner und BETWEEN — Beachte die Spaltenreihenfolge

    2. SQL LIKE Filter IndizierenLIKE ist keine Volltextsuche

    3. Indizes kombinieren — Warum nicht einen Index für jeder Spalte?

  5. Partielle Indizes — Ausgewählte Zeilen indizieren

  6. NULL in der Oracle Datenbank — Eine wichtige Kuriosität

    1. NULL im Index — Jeder Index ist ein partieller Index

    2. NOT NULL Constraints — beeinflussen die Indexnutzung

    3. Partielle Indizes emulieren — mit funktions-basierter Indizierung

  7. Verstümmelte Bedingungen — Verbreitete Anti-Pattern

    1. Datums-Typen — verursachen viele Probleme

    2. Numerische Strings — Mische die Typen nicht

    3. Spalten zusammenfügen — und redundante where-Klauseln

    4. Schlaue Logik — Der schlauste Weg SQL langsam zu machen

    5. Mathematik — Datenbanken lösen keine Gleichungen

Vorherige SeiteNächste Seite

Du kannst nicht alles an einem Tag lernen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS um sukzessive aufzuholen. Und sieh dir auch modern-sql.com an.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Mit Markus Winand verbinden

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2010-2024 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO