Die Kunst der Indizierung liegt darin, das Optimum mit möglichst wenig Indizes zu erreichen.
Rund 50 % der SQL-Performanceprobleme lassen sich auf schlechte Indizierung zurückführen. Daher liegt Markus Winand die richtige Indizierung besonders am Herzen. Neben seiner Webseite, seinem Buch und seinen Schulungen zum Thema, bietet Markus Winand auch ein vollständiges Index-Redesign Ihrer Datenbank an.
Bei einem Index-Redesign wird nicht nur eine einzelne SQL-Anweisung punktuell durch Indizierung beschleunigt, sondern die kleinstmögliche Anzahl an Indizes für alle SQL-Anweisungen gesucht. Das Ergebnis ist bessere Performance für die gesamte Applikation.
Der Ablauf eines Index-Redesign-Projektes ist sehr individuell – fragen Sie bitte einen konkreten Projektplan an. Dennoch gibt es einige Eckpunkte, die Ihnen bei der Orientierung helfen können.
Datenerhebung
Für ein Index-Redesign muss Markus Winand alle SQL-Anweisungen kennen, die Ihre Datenbank ausführt. Viele Datenbanken bieten dafür eine Protokollierungsmöglichkeit. Des Weiteren werden das vollständige Datenbankschema (inkl. bestehender Indizes) und Statistiken über die Datenverteilung benötigt. Falls es Ihre Sicherheitsauflagen zulassen, können Sie natürlich auch einen vollständigen (anonymisierten) Datenbankexport zur Verfügung stellen.
Die Datenerhebung wird von Ihren Mitarbeitern durchgeführt. Natürlich erhalten Sie die genauen Anforderungen und auch Vorschläge zur Umsetzung.
Analyse und Optimierung
Die Analyse der Daten, Optimierung der Indizes und die Prüfung des Ergebnisses führt Markus Winand selbstständig auf seinen IT-Ressourcen durch. Falls Sie keinen Datenbankexport zur Verfügung stellen, erfolgen die Tests auf der Basis einer generierten Dummy-Datenbank.
Dieser Schritt erfolgt in drei Phasen: (1) vollautomatische Analyse und Voroptimierung; (2) manuelle Optimierung; (3) Tests und Prognose.
Als Ergebnis erhalten Sie einen schriftlichen Bericht mit Umsetzungsvorschlägen. Die Vorschläge sind auf Basis Ihrer Vorgaben an Ihre Projektplanung, System- und Softwarearchitektur angepasst. Zu jedem Vorschlag erhalten Sie eine Nutzenprognose.
Prüfung und Umsetzung
Die Umsetzungsvorschläge werden von Ihren Mitarbeitern nochmals geprüft und z. B. im Rahmen eines Releasezyklus getestet. In dieser Phase können alle SQL-Anweisungen wieder protokolliert werden, damit Markus Winand die korrekte Umsetzung und das Eintreten der Nutzenprognose nochmals prüfen kann.
Das Rollout in Produktion wird nach Ihrer Freigabe von Ihren Mitarbeitern durchgeführt.
Alternativ zum Webformular können Sie Ihre Anfrage natürlich auch als E-Mail an office@winand.at senden.
Datenschutz: Die eingegebenen Daten werden ausschließlich genutzt, um Ihnen ein Angebot zu legen und im weiteren Verlauf die Abrechnung durchzuführen.
Als SQL Renaissance Ambassador ist es meine Mission, Entwickler auf die Evolution von SQL im 21. Jahrhundert aufmerksam zu machen. Mein Buch „SQL Performance Explained“ ist in fünf Sprachen erschienen und kann online kostenlos auf use-the-index-luke.com gelesen werden. Mein nächstes Buch kann bereits während des Entstehens online gelesen werden (modern-sql.com). Allen SQL-interessierten Unternehmen und Entwicklern stehe ich als Trainer, Sprecher und Berater zur Verfügung. Mehr Infos dazu auf winand.at.