Teil 1: MySQL4 - Optimierung von Anfragen

SQL-Optimierung: Indizes richtig einsetzen

von Paul DuBois, 04.08.2008
Aufmacherbild
SQL-Datenbanken wie MySQL enthalten zwar eine gewisse Eigenintelligenz zu Performance-Optimierung von Anfragen. Doch mit etwas manueller Hilfe lassen sich viele Queries beschleunigen und die Antwortzeiten der Datenbank drücken. Teil 1 der Serie beschäftigt sich mit dem richtigen Einsatz von Indizes.
Die Welt der relationalen Datenbanktheorie wird von Tabellen und Mengen sowie von Operationen auf diesen Tabellen und Mengen beherrscht. Eine Datenbank ist eine Menge von Tabellen, und eine Tabelle ist eine Menge aus Zeilen und Spalten. Wenn Sie mithilfe einer SELECT-Anfrage Zeilen aus einer Tabelle abrufen, erhalten Sie ebenfalls eine Menge aus Zeilen und Spalten. Dabei handelt es sich um abstrakte Konzepte, die nichts mit der einem Datenbanksystem zugrunde liegenden Darstellung der Daten für die Verarbeitung Ihrer Tabellen zu tun haben. Eine weitere Abstraktion ist, dass die Operationen auf Tabellen alle gleichzeitig erfolgen; Anfragen kann man sich als eine Menge von Operationen vorstellen, und in der Mengenlehre gibt es kein Zeitkonzept.
Im wirklichen Leben sieht es natürlich ganz anders aus. Datenbankmanagement-Systeme implementieren abstrakte Konzepte, jedoch auf realer Hardware und unter Berücksichtigung der realen Beschränkungen. Anfragen brauchen also Zeit – manchmal sehr viel Zeit. Und weil wir ungeduldige Wesen sind, die auf nichts warten können, verlassen wir die abstrakte Welt der unmittelbaren mathematischen Operationen in großer Zahl und suchen nach Verfahren, um unsere Anfragen zu beschleunigen.
Glücklicherweise gibt es entsprechende Möglichkeiten. Wir legen einen Index auf Tabellen, sodass der Datenbankserver die Zeilen schneller findet. Wir überlegen, wie wir Anfragen so formulieren können, dass sie diese Indizes optimal nutzen können. Wir schreiben Anfragen so, dass der Einplanungsmechanismus des Servers genutzt wird, damit die Anfragen verschiedener Clients besser kooperieren können. Wir denken darüber nach, was auf der benutzten Hardware passiert und wie wir ihre physischen Beschränkungen umgehen und damit die Performance verbessern können.
Um genau diese Probleme dreht sich diese Artikelserie. Sie soll Ihnen helfen, die Performance Ihres Datenbanksystems zu optimieren, sodass Ihre Anfragen so schnell wie möglich verarbeitet werden. MySQL ist schon relativ schnell, aber selbst die schnellste Datenbank kann Anfragen schneller ausführen, wenn Sie ihr dabei helfen.
MySQL4: Konfiguration, Administration und Entwicklung
MySQL4: Konfiguration, Administration und Entwicklung
MySQL4: Konfiguration, Administration und Entwicklung
Unsere neue Serie zur Optimierung von MySQL-Anfragen basiert auf Kapitel 4 “Optimierung von Anfragen“ des Standardwerks „MySQL 4 – Konfiguration, Administration und Entwicklung“ von Paul Dubois aus dem SAMS-Verlag. Weitere MySQL-Bücher und eBooks auch von Paul Dubois finden Sie in unserem Partner-Buchshop bei informit.de.
'Server-Newsletter' bestellen!

Kostenlose AppsGratis-Apps für Smartphones und Tablet-PCs
Holen Sie sich die kostenlosen TecChannel-Apps für iPhone, iPad, Android, bada und Windows 7 Slate. Oder nutzen Sie mobil.tecchannel.de für alle Geräte.



Das könnte Sie auch interessieren
Links zum Thema






Meinungen zu diesem Artikel (2 von 2)
WITM55
05.08.08 10:32

Schöner Artikel, das muss man sagen! Was nicht ganz richtig ist: Ein Index verringert nat&
Albert Lauchner
04.08.08 12:26

SQL-Optimierung (Teil 1): Indizes richtig einsetzen
Es ist immer wieder erstaunlich, wie schlecht SQL-Abfragen in der Praxis designt sind. Gerade bei We
Ihre Meinung zum Artikel
Benutzername:
Passwort: