Indexvorschläge für langsame Abfragen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • Die Index Suggest 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, mit dem sich die Ausführungszeit der Abfrage verbessern lässt.

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

    Wofür verwenden Administratoren die ISE?
    • 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 Bewertungs- und Testzwecken in eine Instanz außerhalb der Produktion.
    • 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).
    • Löschen Sie einen Index, der die Abfrageleistung nicht optimiert, wie von der ISE empfohlen.
    In neuen und aktualisierten Instanzen ist das Plugin „Index Suggest Engine“ (com.glide.index_suggestion) standardmäßig aktiviert.
    Hinweis:
    Die ISE unterstützt nur MySQL-Datenbanken.

    Funktionsweise von Indexvorschlägen

    Sie starten den Indexvorschlagsprozess, 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 sammelt und dabei Daten wie Kardinalität (eindeutige Spalten in einer Tabelle) und Null-/Nicht-Null-Anzahl erfasst.

    Anschließend fasst und analysiert die ISE die gesammelten Informationen, wendet einen gewichteten Spaltenbewertungsalgorithmus 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 sich durch seinen Lebenszyklus bewegt. Sie können den Indexvorschlag durch drei Hauptverarbeitungsphasen verfolgen:

    Zu überprüfende Indexvorschläge
    In dieser ersten Phase können Sie Indexvorschläge überprüfen, die von der ISE für Ihre langsamen Abfragen generiert wurden. Sie können Vorschläge ignorieren, den Indexvorschlag zu weiteren Tests in eine Instanz außerhalb der Produktion exportieren oder die Erstellung des Index planen. Wenn die ISE erfolgreich einen Indexvorschlag generiert und Sie die Erstellung des Index 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.
    Indizierung 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 zu bestimmen, ob der Index die Ausführungszeit der Abfrage verbessert oder verringert. Die ISE aktualisiert den Indexstatus einschließlich der empfohlenen Aktionen. Wenn der Index beispielsweise die Leistung der langsamen Abfrage nicht verbessert, empfiehlt die ISE, den Index zu löschen. Anschließend können Sie planen, wie der Index aus der Datenbank gelöscht wird. In 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 Endstatus des Index und der zugehörigen 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 gelöscht haben, löscht die ISE den Index aus der -Datenbank und ändert den Indexstatus in Verworfen.
    Abbildung : 1. Lebenszyklus des Indexvorschlags
    Flussdiagramm, das die Verarbeitungsphasen im Lebenszyklus des Indexvorschlags 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. Status von Indexvorschlägen
    Status Beschreibung
    Index enthältVorschläge zur Überprüfung
    Vorgeschlagen ISE hat einen Indexvorschlag für die langsame Abfrage generiert.
    Ablegen vorgeschlagen–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 löschen, da der Index die Abfragezeit nicht verbessert oder die Leistung verschlechtert hat.
    Indizierung wird ausgeführt
    Erstellung geplant Sie haben die Erstellung des Verzeichnisses geplant.
    Erstellung wird ausgeführt ISE erstellt den Index.
    Fehler beim Erstellen ISE konnte den Index nicht erstellen.
    Bewertung der Wirksamkeit Das ISE hat den Index erstellt und bewertet die Indexleistung während des 14-tägigen Indexbewertungszeitraums.
    Vorschlageneablegen – – 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 löschen, 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 löscht den Index aus der Datenbank.
    Fehler beim Ablegen

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

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