Ich möchte die besten Indizes für jede Tabelle in meiner Datenbank erstellen. Gibt es in SQL Server eine Abfrage oder ein Tool, das Sie bei diesem Prozess unterstützt?
8
Ich möchte die besten Indizes für jede Tabelle in meiner Datenbank erstellen. Gibt es in SQL Server eine Abfrage oder ein Tool, das Sie bei diesem Prozess unterstützt?
Antworten:
Ja, es gibt Tools wie den Tuning Advisor für Datenbank-Engines. Es wird mit SQL Server ausgeliefert und macht einige ziemlich böse Dinge:
Der richtige Ansatz für die Indexoptimierung besteht darin, Ihre gesamte Arbeitslast über einen vollständigen Geschäftszyklus zu berücksichtigen. Manchmal ist es besser, sich an Werkzeuge von Drittanbietern zu wenden, als das Rad neu zu erfinden. DBSophic stellt ein kostenloses Produkt namens Qure Workload Analyzer her, das meiner Meinung nach viel besser funktioniert als DTA - aber das lizenzierte Tool (Qure Workload Optimizer) ist absolut phänomenal. Letztes Jahr habe ich darüber gebloggt, wie das Tool funktioniert, wenn es in unsere Lösung ( SQL Sentry Performance Advisor für SQL Server ) integriert ist ( Haftungsausschluss: Ich arbeite für SQL Sentry ).
Es gibt auch einige andere Optionen, z. B. werden fehlende Indizes in den DMVs gemeldet, und Sie können auch feststellen, in welche Indizes geschrieben wird (sie belegen also Speicherplatz und wirken sich auf Einfüge- / Aktualisierungs- / Löschvorgänge aus), jedoch nie (oder selten) ) von Benutzeranfragen verwendet:
Diese benötigen jedoch auch die Einschränkung, dass die DMVs erst seit dem letzten Neustart von SQL Server gültig sind und nicht unbedingt einen ordnungsgemäßen Geschäftszyklus abdecken (und daher möglicherweise wichtige Informationen fehlen
quelle
Das Tool, über das Sie sprechen, heißt Database Engine Tuning Advisor (kurz DTA). Es kann eine Reihe von Eingaben enthalten und Empfehlungen zu fehlenden Indizes geben. Es ist jedoch erwähnenswert, dass dies nur Vorschläge sind und sorgfältige Überlegungen angestellt werden sollten, anstatt blind den Empfehlungen von DTA zu folgen.
Link zum DTA-Tutorial
Es ist auch erwähnenswert, dass es integrierte DMVs zum Sammeln dieser Art von Informationen gibt:
quelle