Vor- und Nachteile von MySQL-Indizes und Richtlinien zum Erstellen von Indizes

Vor- und Nachteile von MySQL-Indizes und Richtlinien zum Erstellen von Indizes

1. Warum einen Index erstellen? (Vorteile)

Dies liegt daran, dass die Erstellung von Indizes die Systemleistung erheblich verbessern kann.

  • Erstens kann durch die Erstellung eines eindeutigen Indexes die Eindeutigkeit jeder Datenzeile in der Datenbanktabelle gewährleistet werden.
  • Zweitens kann es den Datenabruf erheblich beschleunigen, was auch der Hauptgrund für die Erstellung eines Indexes ist.
  • Drittens kann es die Verbindung zwischen Tabellen beschleunigen, was insbesondere für die Erreichung der referenziellen Integrität von Daten von Bedeutung ist.
  • Viertens kann durch die Verwendung von Gruppierungs- und Sortierklauseln zum Datenabruf auch die Zeit für die Gruppierung und Sortierung in der Abfrage erheblich reduziert werden.
  • Fünftens können Sie durch die Verwendung von Indizes optimierte Hider während des Abfragevorgangs verwenden, um die Systemleistung zu verbessern.

2. Nachteile der Festlegung von Richtungsindizes

Manche Leute fragen sich vielleicht: Da das Hinzufügen von Indizes so viele Vorteile hat, warum nicht für jede Spalte in der Tabelle einen Index erstellen? Diese Idee ist sicherlich vernünftig, aber sie ist auch einseitig. Obwohl Indizes viele Vorteile haben, ist es nicht ratsam, jeder Spalte einer Tabelle einen Index hinzuzufügen. Dies liegt daran, dass das Hinzufügen von Indizes auch viele Nachteile hat.

  • Erstens nimmt das Erstellen und Verwalten von Indizes Zeit in Anspruch, und dieser Zeitaufwand erhöht sich mit der zunehmenden Datenmenge.
  • Zweitens benötigen Indizes physischen Speicherplatz. Zusätzlich zu dem von der Datentabelle belegten Datenspeicherplatz nimmt jeder Index auch eine bestimmte Menge physischen Speicherplatzes ein. Wenn Sie einen gruppierten Index erstellen möchten, ist der erforderliche Speicherplatz sogar noch größer.
  • Drittens muss beim Hinzufügen, Löschen und Ändern von Daten in der Tabelle auch der Index dynamisch verwaltet werden, was die Geschwindigkeit der Datenverwaltung verringert.

3. Richtlinien für die Gestaltung von Indizes

Indizes werden für bestimmte Spalten in einer Datenbanktabelle erstellt. Daher sollten Sie beim Erstellen eines Index sorgfältig überlegen, welche Spalten indiziert werden können und welche Spalten nicht indiziert werden können.

Generell sollten Sie Indizes für diese Spalten erstellen.

  • Erstens kann es die Suche in häufig durchsuchten Spalten beschleunigen.
  • Zweitens: Erzwingen Sie die Eindeutigkeit der Spalte, die als Primärschlüssel dient, und organisieren Sie die Datenstruktur in der Tabelle.
  • Drittens kann die Verbindungsgeschwindigkeit bei Spalten beschleunigt werden, die häufig in Verbindungen verwendet werden und bei denen es sich hauptsächlich um Fremdschlüssel handelt.
  • Viertens: Erstellen Sie einen Index für die Spalte, die häufig nach Bereich durchsucht werden muss, da der Index bereits sortiert ist und der angegebene Bereich kontinuierlich ist.
  • Fünftens: Erstellen Sie Indizes für Spalten, die häufig sortiert werden müssen. Da der Index bereits sortiert ist, können Abfragen die Sortierung des Indexes nutzen, um die Sortierabfragezeit zu verkürzen.
  • Sechstens: Erstellen Sie Indizes für Spalten, die häufig in der WHERE-Klausel verwendet werden, um die Beurteilung der Bedingungen zu beschleunigen.

Ebenso gibt es einige Spalten, für die keine Indizes erstellt werden sollten. Im Allgemeinen weisen Spalten, die nicht indiziert werden sollten, die folgenden Merkmale auf:

  • Erstens sollten Sie keine Indizes für Spalten erstellen, die selten verwendet oder in Abfragen referenziert werden. Dies liegt daran, dass diese Spalten selten verwendet werden und sich die Abfragegeschwindigkeit weder durch ihre Indizierung noch durch Nichtindizierung verbessern lässt. Im Gegenteil, das Hinzufügen von Indizes reduziert die Systemwartungsgeschwindigkeit und erhöht den Platzbedarf.
  • Zweitens sollten Sie keine Indizes zu Spalten hinzufügen, die nur sehr wenige Datenwerte enthalten. Dies liegt daran, dass diese Spalten nur sehr wenige Werte aufweisen, beispielsweise die Spalte „Geschlecht“ in der Personaltabelle. Im Abfrageergebnis machen die Datenzeilen im Ergebnissatz einen großen Anteil der Datenzeilen in der Tabelle aus, d. h. der Anteil der Datenzeilen, nach denen in der Tabelle gesucht werden muss, ist sehr groß. Das Hinzufügen von Indizes beschleunigt den Abruf nicht wesentlich.
  • Drittens sollten Indizes nicht zu Spalten hinzugefügt werden, die als Text-, Bild- und Bit-Datentypen definiert sind. Dies liegt daran, dass das Datenvolumen dieser Spalten entweder sehr groß ist oder nur wenige Werte aufweist.
  • Viertens: Wenn die Änderungsleistung wesentlich höher ist als die Abrufleistung, sollten Sie keinen Index erstellen. Dies liegt daran, dass Änderungsleistung und Abrufleistung im Widerspruch zueinander stehen. Beim Hinzufügen von Indizes wird die Abrufleistung verbessert, die Änderungsleistung jedoch verringert. Wenn Sie die Anzahl der Indizes verringern, verbessert sich die Änderungsleistung und die Abrufleistung verringert sich. Wenn die Änderungsleistung die Abrufleistung deutlich übersteigt, sollten daher keine Indizes erstellt werden.

Oben finden Sie ausführliche Informationen zu den Vor- und Nachteilen von MySQL-Indizes sowie zu den Kriterien für die Indexerstellung. Weitere Informationen zu MySQL-Indizes finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Diskussion über sinnvollere Erstellungsregeln für MySQL-String-Indizes
  • Einführung in die Verwendung von MySQL-Befehlen zum Erstellen, Löschen und Abfragen von Indizes
  • So erstellen Sie MySQL-Indizes richtig
  • So erstellen Sie einen Index für eine Join-Tabelle in MySQL
  • MySQL ermöglicht die gemeinsame Nutzung von Volltextindizes
  • Detaillierte Erläuterung der MySQL-Indexzusammenfassung - MySQL-Indextypen und -Erstellung
  • So zeigen Sie Indizes in MySQL an, erstellen und löschen sie
  • mysql Index hinzufügen mysql wie man einen Index erstellt
  • Was Sie über das Erstellen von MySQL-Indizes wissen müssen

<<:  Docker erstellt Cluster-MongoDB-Implementierungsschritte

>>:  Der praktische Prozess des Login-Status-Managements im vuex-Projekt

Artikel empfehlen

Centos7-Installation und Konfiguration von Mysql5.7

Schritt 1: Holen Sie sich die MySQL YUM-Quelle Ge...

Erklärung und Beispielverwendung von 4 benutzerdefinierten Anweisungen in Vue

Vier praktische Vue-Custom-Anweisungen 1. V-Wider...

6 Möglichkeiten zur eleganten Handhabung von Objekten in JavaScript

Inhaltsverzeichnis Vorwort 1. Objekt.freeze() 2. ...

JavaScript implementiert die Klick-Umschaltfunktion

In diesem Artikelbeispiel wird der spezifische Ja...

So erstellen Sie einen K8S-Cluster und installieren Docker unter Hyper-V

Wenn Sie das Win10-System installiert haben und e...

17 JavaScript-Einzeiler

Inhaltsverzeichnis 1. DOM & BOM bezogen 1. Üb...

Verstehen Sie die Verwendung des All-Attributs von CSS3

1. Kompatibilität Wie unten dargestellt: Die Komp...

So versetzen Sie JavaScript in den Ruhezustand oder in den Wartezustand

Inhaltsverzeichnis Überblick Überprüfen von setTi...

Beispielcode zum Mischen von Float und Margin in CSS

Bei meinen letzten Studien habe ich einige Layout...