Indexvorschläge für langsame Abfragen

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 4 Minuten Lesedauer
  • Die Indexvorschlag-Engine (Index Suggestion Engine, ISE) kann einen Indexvorschlag für eine ausgewählte langsame Abfrage generieren. Wenn Sie einen Indexvorschlag für eine langsame Abfrage anfordern, analysiert die ISE die Abfrage und empfiehlt einen Index, der die Ausführungszeit der Abfrage verbessern kann.

    Wenn Sie den Indexvorschlag verwenden und den Index erstellen, überprüft die ISE weiterhin die Effektivität dieses Index während eines 14-tägigen Bewertungszeitraums. Die ISE stellt während der Auswertung Details zum Index bereit, einschließlich Empfehlungen zur Verwaltung des Index.

    Administratoren verwenden die ISE für Folgendes:
    • Generieren Sie einen Indexvorschlag für eine langsame Abfrage.
    • Überprüfen Sie Indexvorschläge für langsame Abfragen in Ihrer Instanz.
    • Exportieren Sie einen Indexvorschlag zu Evaluierungs- und Testzwecken in eine Nicht-Produktionsinstanz.
    • Planen Sie die Erstellung eines Index.
    • Überwachen Sie die Effektivität eines Index während des Indexauswertungszeitraums.
    • Indexleistung testen (dieser Test ist eine sofortige Leistungsbewertung des Index).
    • Verwerfen Sie einen Index, der die Abfrageleistung nicht optimiert, wie von der ISE empfohlen.
    In neuen und aktualisierten Instanzen ist das Plugin „Index Suggestion Engine“ (com.glide.index_suggestion) standardmäßig aktiviert.
    Hinweis:
    Die ISE unterstützt nur MySQL-Datenbanken.

    Funktionsweise von Indexvorschlägen

    Sie starten den Indexvorschlagprozess, indem Sie einen Indexvorschlag für eine ausgewählte langsame Abfrage anfordern. Die ISE führt eine tägliche Aufgabe aus, die Spaltenstatistiken aus Tabellen in der langsamen Abfrage erfasst und Daten wie Kardinalität (eindeutige Spalten in einer Tabelle) und Null-/Nicht-Null-Anzahl erfasst.

    Als Nächstes fasst die ISE die erfassten Informationen zusammen und analysiert sie, wendet einen gewichteten Spaltenrangfolge-Algorithmus auf die langsame Abfrage an und generiert einen Indexvorschlag für die Abfrage.

    Nachdem ein Indexvorschlag generiert wurde, überprüfen Sie den Vorschlag und bestimmen, ob der Index für die langsame Abfrage erstellt werden soll. Wenn Sie den Index erstellen, stellt die ISE Informationen zum Index bereit, während er seinen Lebenszyklus durchläuft. Sie können den Indexvorschlag in drei Hauptverarbeitungsphasen nachverfolgen:

    Indexvorschläge zur Überprüfung
    Während dieser Anfangsphase können Sie Indexvorschläge überprüfen, die die ISE für Ihre langsamen Abfragen generiert hat. Sie können einen Vorschlag ignorieren, den Indexvorschlag zu weiteren Tests in eine Nicht-Produktionsinstanz exportieren oder die Erstellung des Index planen. Wenn die ISE erfolgreich einen Indexvorschlag generiert und Sie den Index für die Erstellung planen, wird der Indexvorschlag in die nächste Verarbeitungsphase verschoben. Wenn die Datenbank den Vorschlag jedoch nicht verwenden kann oder der Vorschlag die Abfrageleistung beeinträchtigt, empfiehlt die ISE, den Indexvorschlag zu verwerfen.
    Index wird ausgeführt
    In dieser Phase erstellt die ISE den Index und der 14-tägige Bewertungszeitraum beginnt. Die ISE führt eine stündliche Auswertung durch, um festzustellen, ob der Index die Ausführungszeit der Abfrage verbessert oder verschlechtert. Die ISE aktualisiert den Indexstatus, einschließlich der empfohlenen Aktionen, die Sie ausführen können. Wenn der Index beispielsweise die Leistung der langsamen Abfrage nicht verbessert, empfiehlt die ISE, den Index zu verwerfen. Sie können dann planen, dass der Index aus der Datenbank gelöscht wird. Während dieser Phase können Sie auch die Indexleistung testen oder einen Index akzeptieren, auch wenn die ISE empfiehlt, ihn zu verwerfen.
    Index abgeschlossen
    In der letzten Verarbeitungsphase beschreibt die ISE den endgültigen Status des Index und die zugehörige Verarbeitungsaktivität. Wenn der Index die langsame Abfragezeit verbessert hat, ändert die ISE den Indexstatus in Erstellt, und die Datenbank verwendet den Index weiterhin. Wenn der Index die Abfragezeit nicht verbessert hat und Sie den Index verworfen haben, verwirft die ISE den Index aus der Datenbank und ändert den Indexstatus in „Verworfen“.
    Abbildung : 1. Lebenszyklus von Indexvorschlägen
    Flussdiagramm, das die Verarbeitungsphasen im Lebenszyklus von Indexvorschlägen zeigt

    Verarbeitungsstatus für Indexvorschläge

    Die Tabelle „Indexvorschläge“ [sys_index_suggestion] enthält Statusinformationen zu Ihren Indizes, während sie die drei Hauptverarbeitungsphasen durchlaufen:
    • Vorschläge indizieren > Zu überprüfen
    • Vorschläge indizieren > In Bearbeitung
    • Vorschläge indizieren > Fertig

    Die ISE verwendet die folgenden Status, um die Verarbeitungsaktivität für einen Index zu beschreiben.

    Tabelle : 1. Indexvorschlagstatus
    Status Beschreibung
    Index sVorschläge zur Überprüfung
    Vorgeschlagen ISE hat einen Indexvorschlag für die langsame Abfrage generiert.
    Verwerfen Vorgeschlagene–Nicht verwendet ISE empfiehlt, den Index zu löschen, da die Datenbank den Index nicht für die langsame Abfrage verwendet.
    Vorgeschlagene–Leistungsverschlechterung verwerfen ISE empfiehlt, den Index zu verwerfen, da der Index die Abfragezeit nicht verbessert oder die Leistung verschlechtert hat.
    Index wird ausgeführt
    Erstellung geplant Sie haben die Erstellung des Index geplant.
    Erstellung wird ausgeführt ISE erstellt den Index.
    Fehler beim Erstellen ISE konnte den Index nicht erstellen.
    Bewertung der Wirksamkeit ISE hat den Index erstellt und bewertet die Indexleistung während des 14-tägigen Indexauswertungszeitraums.
    Vorgeschlageneverwerfen –Nicht verwendet ISE empfiehlt, den Index aus der Tabelle zu löschen, für die der Index erstellt wurde, da die Datenbank den Index nicht für die langsame Abfrage verwendet.
    Vorgeschlagene–Leistungsverschlechterung verwerfen ISE empfiehlt, den Index zu verwerfen, da der Index die Abfragezeit nicht verbessert hat.
    Geplante ablegen Sie haben geplant, dass der Index aus der Datenbank gelöscht wird.
    Drop in PFortschritt ISE verwirft den Index aus der Datenbank.
    Fehler beim Ablegen

    ISE konnte den Index nicht löschen. Wenden Sie sich an Kundenservice und Support, um Unterstützung zu erhalten.

    Index abgeschlossen
    Erstellt Nach dem 14-tägigen Bewertungszeitraum ermittelte die ISE, dass der Index die Abfrageleistung verbesserte. Gibt an, dass die Datenbank den Index weiterhin verwendet.
    Ignoriert Sie haben sich entschieden, den Indexvorschlag zu ignorieren.
    Abgelegt ISE hat den Index erfolgreich verworfen.
    Akzeptiert Sie haben sich dafür entschieden, den Index beizubehalten, obwohl von der ISE empfohlen wurde, ihn zu löschen.
    Veraltet Ein aktueller Indexvorschlag ersetzt den Index für dieselbe Tabelle und langsame Abfrage.