Datenbankoptimierung für alte Software: Index, Query-Tuning und Struktur

Ihre Anwendung war früher schnell. Heute dauert die Kundensuche zehn Sekunden. Der Monatsbericht braucht eine halbe Stunde. Viele vermuten dann: Der Server ist zu schwach. In der Praxis stimmt das selten. Das Problem sitzt tiefer, nämlich in der Datenbank. Genau hier setzt Datenbankoptimierung an. Sie macht alte Software wieder schnell, ohne neue Hardware und ohne Neubau der Anwendung. Dieser Artikel erklärt die drei wichtigsten Techniken: Indizes, Query-Tuning und Strukturverbesserungen. Verständlich für Entscheider, ohne Datenbank-Vorwissen.
Warum alte Datenbanken langsam werden
Eine Datenbank ist der Speicher Ihrer Anwendung. Dort liegen Kunden, Bestellungen, Rechnungen, Protokolle. Als die Software gebaut wurde, war dieser Speicher klein. Ein paar tausend Datensätze, alles reagierte sofort.
Dann kamen die Jahre. Aus tausend Bestellungen wurden Millionen. Die Protokoll-Tabelle wuchs still vor sich hin. Niemand hat aufgeräumt, denn es lief ja alles.
Das ist kein Vorwurf. Kaum ein System aus den 2000er Jahren wurde für heutige Datenmengen ausgelegt. Die Entwickler von damals haben für die Anforderungen von damals gebaut. Das war richtig so.
Aber die Folgen zeigen sich jetzt. Abfragen, die früher eine Millisekunde brauchten, durchsuchen heute Millionen Zeilen. Jede einzelne. Bei jedem Aufruf. Die Datenbank arbeitet wie ein Archivar ohne Register: Er findet alles, aber er blättert jeden Ordner durch.
Was passiert, wenn Sie nichts tun?
Langsame Software ist mehr als ein Ärgernis. Sie kostet an drei Stellen Geld.
Arbeitszeit: Wenn zehn Mitarbeiter täglich auf langsame Masken warten, summiert sich das. Aus Sekunden werden Stunden pro Woche. Bezahlte Stunden.
Serverkosten: Unoptimierte Datenbanken fressen Rechenleistung. Viele Unternehmen mieten größere Server, statt die Ursache zu beheben. Warum das teuer wird, zeigt unser Artikel über Energie- und Serverkosten alter Software.
Stabilität: Eine überlastete Datenbank wird unberechenbar. Erst wird es zäh, dann kommen Timeouts, dann steht das System. Oft ausgerechnet am Monatsende, wenn die Last am höchsten ist.
Und die Kurve ist nicht linear. Eine Datenbank, die heute doppelt so groß ist, ist nicht doppelt so langsam. Sie kann zehnmal langsamer sein. Wer wartet, zahlt später mehr. Wie bei jeder Schuld, die man liegen lässt.
Die drei wichtigsten Hebel der Datenbankoptimierung
Die gute Nachricht: Datenbankoptimierung braucht selten einen Umbau der Anwendung. Die größten Effekte entstehen durch drei Techniken. Alle drei arbeiten unter der Haube, der laufende Betrieb bleibt unberührt.
Indizes: das Inhaltsverzeichnis Ihrer Datenbank
Ein Index ist ein Inhaltsverzeichnis für eine Tabelle. Ohne Index liest die Datenbank jede Zeile, bis sie den Treffer findet. Mit Index springt sie direkt an die richtige Stelle.
Der Unterschied ist dramatisch. Eine Suche über fünf Millionen Zeilen ohne Index dauert Sekunden. Mit Index: wenige Millisekunden. Das ist keine Übertreibung, sondern Alltag in unseren Projekten.
Fehlende Indizes sind der häufigste Befund bei alten Systemen. Sie fehlen nicht aus Nachlässigkeit. Bei kleinen Datenmengen merkt niemand den Unterschied. Erst das Wachstum macht das Fehlen sichtbar.
Ein erfahrener Datenbankspezialist findet fehlende Indizes systematisch. Er analysiert, welche Abfragen die Anwendung tatsächlich stellt. Dann legt er gezielt Indizes an. Wichtig: Zu viele Indizes bremsen das Schreiben von Daten. Es geht um die richtigen, nicht um möglichst viele.
Query-Tuning: Abfragen entschlacken
Eine Query ist eine Abfrage an die Datenbank, etwa "alle offenen Rechnungen von Kunde X". Wie diese Abfrage formuliert ist, entscheidet über ihre Geschwindigkeit.
Alte Anwendungen stellen oft umständliche Fragen. Sie laden ganze Tabellen, obwohl zehn Zeilen reichen würden. Sie fragen in einer Schleife hundertmal einzeln ab, statt einmal gesammelt. Sie verknüpfen Tabellen auf Wegen, die die Datenbank zwingen, alles zu durchsuchen.
Query-Tuning bedeutet: Diese Abfragen finden und umformulieren. Das Ergebnis bleibt identisch, nur der Weg dorthin wird kürzer. Moderne Datenbanken zeigen mit Bordmitteln, welche Abfragen am meisten Zeit verbrauchen. Dort beginnt die Arbeit, denn dort steckt der größte Gewinn.
Der Charme dabei: Die Anwendung selbst bleibt fast unverändert. Es ändern sich einzelne Abfragen, nicht die Logik. Das Risiko ist klein, der Effekt groß.
Struktur: Tabellen für heutige Datenmengen aufräumen
Der dritte Hebel ist die Tabellenstruktur selbst. Typische Befunde bei alten Systemen: Protokoll-Tabellen mit Jahrzehnten an Einträgen, die niemand mehr braucht. Daten, die mehrfach gespeichert werden. Spalten mit falschen Datentypen, die Speicher verschwenden.
Hier hilft Aufräumen. Alte Protokolldaten werden archiviert statt gelöscht. Große Tabellen lassen sich partitionieren, also intern in handliche Abschnitte teilen. Die Datenbank durchsucht dann nur noch den relevanten Abschnitt.
An dieser Stelle fällt oft der Begriff Sharding. Sharding heißt: Eine Datenbank wird auf mehrere Server verteilt, jeder trägt einen Teil der Daten. Das klingt beeindruckend. Für den Mittelstand ist es fast nie nötig. Sharding lohnt sich erst bei Datenmengen, die ein einzelner Server wirklich nicht mehr stemmt. Wer Ihnen Sharding verkauft, bevor Indizes und Queries geprüft sind, hat die Reihenfolge nicht verstanden.
Wie ein Optimierungsprojekt in der Praxis abläuft
Seriöse Datenbankoptimierung beginnt mit Messen, nicht mit Umbauen. Der Ablauf sieht meist so aus:
- Analyse: Welche Abfragen sind langsam? Welche laufen am häufigsten? Die Datenbank protokolliert das selbst.
- Priorisierung: Die zehn teuersten Abfragen verursachen oft über 80 Prozent der Last.
- Umsetzung: Indizes anlegen, Queries umformulieren, Struktur bereinigen. Schritt für Schritt, jede Änderung wird gemessen.
- Absicherung: Vorher Backup, nachher Vergleichsmessung. Keine Änderung ohne Rückweg.
Wichtig ist auch der Blick auf die Datenbank-Version. Läuft Ihr System noch auf einer Version ohne Support, gehört das Update in den Plan. Was ein Versionsende bedeutet, erklärt unser Artikel zu MySQL 5 End of Life. Und wenn absehbar ist, dass das System auf eine neue Umgebung soll, lohnt der Blick auf das Thema Software-Migration. Manche Optimierung plant man besser gleich mit dem Umzug zusammen.
Einen Überblick über weitere Stellschrauben jenseits der Datenbank gibt unser Grundlagenartikel zur Optimierung alter Software-Datenbanken.
Fazit: Erst messen, dann optimieren, dann dranbleiben
Langsame alte Software ist selten ein Hardware-Problem. Meist fehlen Indizes, Abfragen arbeiten umständlich, und Tabellen tragen Jahrzehnte an Ballast. Alle drei Ursachen lassen sich beheben, ohne die Anwendung neu zu bauen.
Der Effekt ist messbar: schnellere Masken, stabilere Auswertungen, kleinere Serverrechnung. Und damit es so bleibt, gehört die Datenbank in die laufende Software-Wartung. Denn Datenmengen wachsen weiter, auch nach der Optimierung.
Sie wollen wissen, wo Ihre Datenbank steht? Wir messen das und sagen Ihnen ehrlich, was sich lohnt und was nicht. Sprechen Sie uns an. Das Erstgespräch ist kostenlos.


