Indexdefinition: Es handelt sich um eine separate, auf der Festplatte gespeicherte Datenbankstruktur, die Referenzzeiger zu allen Datensätzen in der Datentabelle enthält. Prinzipien des Datenbankindex-Entwurfs: Um die Verwendung von Indizes effizienter zu gestalten, müssen Sie beim Erstellen von Indizes berücksichtigen, für welche Felder Indizes erstellt werden sollen und welcher Indextyp erstellt werden soll. 1. Eindeutigen Index auswählen Der Wert eines eindeutigen Indexes ist eindeutig und Sie können diesen Index verwenden, um einen Datensatz schneller zu identifizieren. 2. Erstellen Sie Indizes für Felder, die häufig Sortier-, Gruppierungs- und Vereinigungsvorgänge erfordern Felder, die häufig Operationen wie ORDER BY, GROUP BY, DISTINCT und UNION erfordern, verschwenden bei Sortieroperationen viel Zeit. 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, 4. Begrenzen Sie die Anzahl der Indizes Je mehr Indizes, desto besser. Jeder Index erfordert Speicherplatz. Je mehr Indizes Sie haben, desto mehr Speicherplatz benötigen Sie. 5. Versuchen Sie, Indizes mit weniger Daten zu verwenden Wenn der Indexwert sehr lang ist, wird die Abfragegeschwindigkeit beeinträchtigt. Beispielsweise dauert eine Volltextsuche in einem Feld vom Typ CHAR(100) definitiv länger als eine Volltextsuche in einem Feld vom Typ CHAR(10). 6. Versuchen Sie, die Präfixindizierung zu verwenden Wenn der Wert des indizierten Felds sehr lang ist, ist es besser, ein Präfix des zu indizierenden Werts zu verwenden. Beispielsweise wäre die Volltextsuche bei Feldern vom Typ TEXT und BLOG Zeitverschwendung. Wenn Sie nur nach den ersten Zeichen eines Feldes suchen, kann dies die Suchgeschwindigkeit erhöhen. 7. Löschen Sie Indizes, die nicht mehr oder nur selten verwendet werden. Wenn die Daten in der Tabelle in großen Mengen aktualisiert werden oder die Art und Weise geändert wird, wie die Daten verwendet werden, 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. 8. Kleine Tabellen sollten nicht indiziert werden. Wenn sie eine große Anzahl von Spalten enthalten und nicht nach Werten ungleich Null gesucht werden muss, sollten Sie erwägen, keinen Index zu erstellen. ---------------------------------------------------------- Tipps zur MySQL-Indizierung: 1. Felder, die häufig zum Filtern von Datensätzen verwendet werden. 1. Primärschlüsselfeld, das System erstellt automatisch den Primärschlüsselindex; 4. Felder, die zum Verknüpfen von Tabellen in Abfragen verwendet werden; 5. Felder, die häufig als Grundlage für die Sortierung verwendet werden (Sortieren nach Feldern); 2. Indizes belegen Speicherplatz und das Erstellen unnötiger Indizes ist nur Verschwendung. 3. Bei der Erstellung von Indizes muss die Art und Weise berücksichtigt werden, wie mit den Daten gearbeitet wird. 1. Der Inhalt ändert sich selten, wird aber häufig abgefragt, daher macht es nichts, wenn Sie mehrere Indizes dafür erstellen; 2. Bei Tabellen, die sich häufig und routinemäßig ändern, müssen Sie die erforderlichen Indizes sorgfältig erstellen. 4. Der Unterschied zwischen Primärschlüssel und eindeutigem Schlüssel 1. Die als Primärschlüssel verwendete Domäne oder Domänengruppe darf nicht null sein. Aber Unique Key kann das. 2. In einer Tabelle kann es nur einen Primärschlüssel geben, aber es können mehrere eindeutige Schlüssel gleichzeitig vorhanden sein. Der größte Unterschied besteht im Logikdesign. Der Primärschlüssel wird im Allgemeinen als Datensatzkennung im Logikdesign verwendet, was auch die Einstellung ist 5. Zusammengesetzter Index und Einzelindex Zusammengesetzter Index bezieht sich auf einen gemeinsamen Index mit mehreren Feldern. Bei der Abfrage werden diese Felder häufig als Abfragebedingungen kombiniert. Der eindeutige Index wird hauptsächlich durch die Primärschlüssel-ID indiziert und die Reihenfolge der Speicherstruktur entspricht der physischen Struktur. Beispiel: Erstelle den Index idx auf tbl(a,b) Sortieren Sie zuerst nach a, und wenn a gleich ist, sortieren Sie nach b. Wenn Sie also nach a oder ab suchen, Sie können diesen Index verwenden. Wenn Sie jedoch nur nach b suchen, ist der Index nicht sehr hilfreich. Möglicherweise können Sie die Suche überspringen. --------------------------------------------- Hinzufügen und Entfernen von Indizes: 1. Der Primärschlüssel und der Fremdschlüssel der Tabelle müssen Indizes haben; 2. Tabellen mit mehr als 3 Millionen Datenmengen sollten Indizes haben; 3. Für Tabellen, die häufig mit anderen Tabellen verbunden sind, sollten Indizes für die Verbindungsfelder erstellt werden. 4. Felder, die häufig in der Where-Klausel vorkommen, insbesondere in großen Tabellen, sollten indiziert werden. 5. Indizes sollten auf Feldern mit hoher Selektivität aufgebaut sein; 6. Indizes sollten auf kleinen Feldern erstellt werden. Erstellen Sie keine Indizes auf großen Textfeldern oder sogar sehr langen Feldern. 7. Die Erstellung zusammengesetzter Indizes erfordert eine sorgfältige Analyse. Erwägen Sie stattdessen die Verwendung von Einzelfeldindizes: A. Wählen Sie das primäre Spaltenfeld im zusammengesetzten Index richtig aus. Im Allgemeinen handelt es sich dabei um ein Feld mit guter Selektivität. B. Kommen in der Where-Klausel im AND-Modus häufig mehrere Felder eines zusammengesetzten Indexes gleichzeitig vor? Gibt es wenige oder keine Einzelfeldabfragen? Wenn ja, können Sie einen zusammengesetzten Index erstellen. Andernfalls ziehen Sie einen Einzelfeldindex in Betracht. C. Wenn die im zusammengesetzten Index enthaltenen Felder in der Where-Klausel häufig allein vorkommen, zerlegen Sie sie in mehrere Einzelfeldindizes. D. Wenn der zusammengesetzte Index mehr als drei Felder enthält, prüfen Sie sorgfältig die Notwendigkeit und ziehen Sie eine Reduzierung der zusammengesetzten Felder in Betracht. E. Wenn für diese Felder ein Einzelfeldindex und ein zusammengesetzter Index vorhanden sind, können Sie den zusammengesetzten Index im Allgemeinen löschen. 8. Erstellen Sie nicht zu viele Indizes für Tabellen, die häufig Datenoperationen durchführen; 9. Löschen Sie nicht benötigte Indizes, um negative Auswirkungen auf den Ausführungsplan zu vermeiden. Bei den oben genannten Kriterien handelt es sich um allgemeine Beurteilungskriterien für die Erstellung von Indizes. Kurz gesagt: Bei der Erstellung von Indizes muss mit Vorsicht vorgegangen werden. Die Notwendigkeit jedes Index muss sorgfältig analysiert werden und es muss eine Grundlage für seine Erstellung geben. Denn zu viele Indizes sowie zu wenige oder falsche Indizes wirken sich nicht positiv auf die Leistung aus: Jeder für eine Tabelle erstellte Index erhöht den Speicheraufwand, und der Index erhöht auch den Verarbeitungsaufwand für Einfüge-, Lösch- und Aktualisierungsvorgänge. Darüber hinaus sind zu viele zusammengesetzte Indizes bei Einzelfeldindizes im Allgemeinen nutzlos. Im Gegenteil, sie verringern die Leistung beim Hinzufügen und Löschen von Daten, insbesondere bei Tabellen, die häufig aktualisiert werden. Der obige Artikel erläutert kurz die Indexdesignprinzipien von MySQL und die Unterschiede zwischen gängigen Indizes. Dies ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen. Das könnte Sie auch interessieren:
|
<<: So installieren Sie Nginx in CentOS7 und konfigurieren den automatischen Start
>>: Entwickeln Sie Beispielcode für einen Taschenrechner mit nativem JavaScript
Starten Sie den MySQL-Container in Docekr Verwend...
In diesem Artikel wird der spezifische Code von v...
Vorwort Das integrierte Modul von Nginx unterstüt...
1. Grundlegende Spezifikationen (1) Es muss die I...
Dieser Artikel stammt vom Apache Spark Meetup, da...
Inhaltsverzeichnis 1. Traversal-Klasse 1. fürJede...
Kubernetes unterstützt drei Arten der Authentifiz...
Strukturbezogene Tags ----------------------------...
Beim Debuggen einer chinesischen Zen Cart-Website...
In diesem Artikel finden Sie das Tutorial zur Ins...
Funktionen von Elementen auf Blockebene : •Steht i...
MySQL ist ein relationales Datenbankverwaltungssy...
COALESCE ist eine Funktion, die sich nacheinander...
Inhaltsverzeichnis Was sind Spread- und Rest-Oper...
Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...