Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann die Nutzung von Datenbankindizes effizienter gestaltet werden?

小云云
Freigeben: 2017-11-21 10:30:29
Original
2299 Leute haben es durchsucht

Indizes haben einen entscheidenden Einfluss auf die Abfragegeschwindigkeit. Welche Felder in der Tabelle sollten während des tatsächlichen Betriebs als Indizes ausgewählt werden? Um die Verwendung von Indizes effizienter zu gestalten, müssen Sie beim Erstellen eines Index berücksichtigen, für welche Felder der Index erstellt werden soll und welche Art von Index erstellt werden soll. Es gibt 7 Prinzipien:

1. Wählen Sie den eindeutigen Index

Der Wert des eindeutigen Index ist eindeutig und ein bestimmter Datensatz kann durch den Index schneller ermittelt werden. Beispielsweise ist die Mittelschul-ID in der Schülertabelle ein eindeutiges Feld. Durch die Einrichtung eines eindeutigen Index für dieses Feld können die Informationen eines bestimmten Schülers schnell ermittelt werden. Wenn Sie Namen verwenden, kann es zu denselben Namen kommen, was die Abfragegeschwindigkeit verlangsamt.

2. Erstellen Sie Indizes für Felder, die häufig Sortier-, Gruppierungs- und Vereinigungsoperationen erfordern

Für Felder, die häufig Operationen wie ORDER BY, GROUP BY, DISTINCT und UNION erfordern, verschwenden Sortiervorgänge viel Zeit . Wenn Sie es indizieren, können Sie den Sortiervorgang effektiv vermeiden.

3. Erstellen Sie Indizes für Felder, die häufig als Abfragebedingungen verwendet werden.

Wenn ein Feld häufig als Abfragebedingung verwendet wird, wirkt sich die Abfragegeschwindigkeit dieses Felds auf die Abfragegeschwindigkeit der gesamten Tabelle aus. Daher kann die Indizierung solcher Felder die Abfragegeschwindigkeit der gesamten Tabelle verbessern.

4. Begrenzen Sie die Anzahl der Indizes

Je mehr Indizes, desto besser. Jeder Index benötigt Speicherplatz. Je mehr Indizes vorhanden sind, desto mehr Speicherplatz ist erforderlich. Wenn die Tabelle geändert wird, ist es mühsam, den Index wiederherzustellen und zu aktualisieren. Je mehr Indizes vorhanden sind, desto zeitaufwendiger wird die Aktualisierung der Tabelle.

5. Versuchen Sie, einen Index mit einer kleinen Datenmenge zu verwenden

Wenn der Indexwert sehr lang ist, wird die Abfragegeschwindigkeit beeinträchtigt. Beispielsweise wird eine Volltextsuche nach einem Feld vom Typ CHAR (100) definitiv mehr Zeit in Anspruch nehmen als nach einem Feld vom Typ CHAR (10).

6. Versuchen Sie, Präfixe zum Indexieren zu verwenden

Wenn der Wert des Indexfelds sehr lang ist, verwenden Sie am besten das Präfix des zu indexierenden Werts. Beispielsweise ist die Volltextsuche nach Feldern vom Typ TEXT und BLOG Zeitverschwendung. Wenn nur die ersten paar Zeichen des Feldes abgerufen werden, kann die Abrufgeschwindigkeit verbessert werden.

7. Löschen Sie Indizes, die nicht mehr oder selten verwendet werden

Nachdem die Daten in der Tabelle stark aktualisiert wurden oder die Art und Weise der Datenverwendung geändert wurde, werden einige der ursprünglichen Indizes möglicherweise nicht mehr benötigt. Datenbankadministratoren sollten diese Indizes regelmäßig identifizieren und löschen, um die Auswirkungen der Indizes auf Aktualisierungsvorgänge zu verringern.

Hinweis: Der ultimative Zweck der Auswahl eines Index besteht darin, die Abfrage zu beschleunigen. Die oben genannten Grundsätze sind die grundlegendsten Richtlinien, Sie können sich jedoch nicht an die oben genannten Richtlinien halten. Die Leser sollten in ihrem zukünftigen Studium und ihrer Arbeit weiterhin üben. Analysieren und beurteilen Sie anhand der tatsächlichen Situation der Anwendung und wählen Sie die am besten geeignete Indizierungsmethode aus.

Angenommen, Sie erstellen ein Mitgliedskartensystem für ein Einkaufszentrum. Dieses System verfügt über eine Mitgliedertabelle (die groben Felder lauten wie folgt):

Mitgliedsnummer INT
Mitgliedsname VARCHAR(10)
Mitglieds-ID-Nummer VARCHAR(18)
Mitgliedstelefonnummer VARCHAR (10)
Mitgliedsadresse VARCHAR(50)
Mitgliedsbemerkungsinformation TEXT

Dann verwenden Sie diese Mitgliedsnummer als Primärschlüssel PRIMARY

Wenn Sie einen Index erstellen möchten , dann ist der Mitgliedsname ein gewöhnlicher INDEX

Wenn Sie einen Index für die Mitglieds-ID-Nummer erstellen möchten, können Sie UNIQUE (einzigartig, keine Duplikate zulässig) wählen

Wenn Sie einen Index erstellen müssen Für Informationen zu Mitgliedsbemerkungen können Sie FULLTEXT für die Volltextsuche auswählen.

Die oben genannten 7 Punkte dienen dazu, die Verwendung von Indizes effizienter zu gestalten. Ich hoffe, dass sie für alle hilfreich sind.

Verwandte Empfehlungen:

Um die Verwendung von Indizes effizienter zu gestalten

Der Unterschied zwischen Btree- und Hash-Indizes in MySQL

So verwenden Sie die MySQL-Indexoptimierung

Das obige ist der detaillierte Inhalt vonWie kann die Nutzung von Datenbankindizes effizienter gestaltet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage