Erklärung der MySQL-Indextypen Normal, Unique und Full Text

Erklärung der MySQL-Indextypen Normal, Unique und Full Text

Zu den Indextypen von MySQL gehören Normalindex, eindeutiger Index und Volltextindex. Die richtige Verwendung von Indizes kann die Abfrageeffizienz der Datenbank erheblich verbessern. Im Folgenden finden Sie eine Einführung in die drei Indextypen.

Normal: Dies ist der einfachste Index. Er unterliegt keinen Einschränkungen. Der Standardindex vom Typ BTREE in MyIASM ist der Index, den wir in den meisten Fällen verwenden.

unique: Gibt einen eindeutigen Index an, der keine Duplikate zulässt, wenn garantiert ist, dass die Feldinformationen nicht wiederholt werden. Wenn beispielsweise die ID-Nummer als Index verwendet wird, kann sie auf eindeutig gesetzt werden.

Volltext: Zeigt einen Index für die Volltextsuche an, der nur für MyISAM-Tabellen verfügbar ist. FULLTEXT funktioniert am besten bei der Suche nach sehr langem Text. Wird für kürzere Texte verwendet. Bedenken Sie, dass das Generieren von Volltextindizes bei Datentabellen mit großer Kapazität sehr zeitaufwändig ist und viel Speicherplatz beansprucht.

Der Unterschied zwischen den MySQL-Indextypen Normal, Unique und Full Text

Normal:

Gibt einen normalen Index an, der in den meisten Fällen verwendet werden kann

Einzigartig:

Einschränkungen identifizieren jeden Datensatz in einer Datenbanktabelle eindeutig, d. h., jeder Datensatz in einer einzelnen Tabelle kann nicht eindeutig sein (z. B. ist ein Personalausweis eindeutig). Sowohl die Einschränkungen Unique (erfordert Eindeutigkeit der Spalte) als auch Primary Key (Primärschlüssel = eindeutig + nicht null Eindeutigkeit der Spalte) garantieren Eindeutigkeit für Spalten oder Spaltensätze. Primary Key hat eine automatisch definierte Unique-Einschränkung, aber jede Tabelle kann mehrere Unique-Einschränkungen haben, aber nur eine Primary Key-Einschränkung.

Erstellen einer Unique-Einschränkung in MySQL

Volltext:

Zeigt die Volltextsuche an. Funktioniert am besten bei der Suche nach langen Texten. Für kurze Texte empfiehlt sich die Verwendung von Index. Bei der Suche nach großen Datenmengen ist es jedoch viel schneller, die Daten in eine Tabelle ohne globalen Index einzugeben und dann mit „Index erstellen“ einen Volltextindex zu erstellen, als zuerst einen Volltextindex für eine Tabelle zu erstellen und dann Daten zu schreiben.

Zusammenfassend lässt sich sagen, dass der Indextyp durch die Inhaltsmerkmale des indizierten Felds bestimmt wird, wobei „normal“ normalerweise am gebräuchlichsten ist.

Welche Felder in der Tabelle sollten im tatsächlichen Betrieb als Indizes ausgewählt werden?

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. Es gibt sieben Hauptprinzipien:

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. Beispielsweise ist die Studenten-ID in der Studententabelle ein eindeutiges Feld. Durch das Erstellen eines eindeutigen Indexes für dieses Feld können die Informationen zu einem Studenten schnell ermittelt werden. Bei Verwendung des vollständigen Namens kann es zu Namensdubletten kommen, die die Suche verlangsamen.

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. Wenn Sie dafür einen Index erstellen, können Sie Sortiervorgänge 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 das Erstellen von Indizes für solche Felder die Abfragegeschwindigkeit der gesamten Tabelle verbessern.

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. Beim Ändern einer Tabelle ist das Neuaufbauen und Aktualisieren des Indexes mühsam. Je mehr Indizes vorhanden sind, desto zeitaufwändiger wird das Aktualisieren der Tabelle.

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.

Hinweis: Das ultimative Ziel der Indexauswahl besteht darin, die Abfrage zu beschleunigen. Die oben genannten Grundsätze stellen die grundlegendsten Richtlinien dar, Sie können sich jedoch nicht an sie halten. Die Leser sollten diese Praxis in ihrem zukünftigen Studium und ihrer Arbeit weiterführen. Analysieren und beurteilen Sie die tatsächliche Situation der Anwendung und wählen Sie die am besten geeignete Indizierungsmethode aus.

Nehmen wir beispielsweise an, Sie entwickeln ein Mitgliedskartensystem für ein Einkaufszentrum. Dieses System verfügt über eine Mitgliedertabelle (die allgemeinen Felder sind wie folgt):

Mitgliedsnummer INT
Mitgliedsname VARCHAR(10)
Mitglieds-ID-Nummer VARCHAR(18)
Telefonnummer des Mitglieds VARCHAR(10)
Mitgliedsadresse VARCHAR(50)
Anmerkungen der Mitglieder TEXT

Anschließend wird diese Mitgliedsnummer mit PRIMARY als Primärschlüssel verwendet

Wenn Sie einen Index für Mitgliedsnamen erstellen möchten, dann ist es ein normaler INDEX

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

Wenn Sie einen Index für Mitgliedsnotizeninformationen erstellen müssen, können Sie FULLTEXT für die Volltextsuche auswählen.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Zusammenfassung der MySQL-Indextypen sowie Tipps und Vorsichtsmaßnahmen bei der Verwendung
  • PHP+MySQL Baumstruktur (unbegrenzte Klassifizierung) Datenbankdesign 2 Beispiele
  • So vergleichen Sie zwei Datenbanktabellenstrukturen in MySQL
  • Verschiedene Arten von MySQL-Indizes
  • Lösung für Indexfehler, die durch implizite MySQL-Typkonvertierung verursacht werden
  • MySQL-Datenbanktabellendesign mit Baumstruktur
  • Generieren Sie ein MySQL-Datenbankstrukturdokument mit Python
  • Mysql-Datenbankstruktur und Indextyp

<<:  Eine kurze Analyse des Unterschieds zwischen statisch und selbst in PHP-Klassen

>>:  Perfektes Installationstutorial für das Dualsystem Win10 + Ubuntu 16.04 [detailliert]

Artikel empfehlen

Eine kurze Analyse von MySQL - MVCC

Versionskette In den Tabellen der InnoDB-Engine g...

Detaillierte Erklärung von MySQLs Seconds_Behind_Master

Inhaltsverzeichnis Sekunden_hinter_Master Ursprün...

Beispiele für die Verwendung von HTML-Metadaten

Beispielverwendung Code kopieren Der Code lautet w...

So finden Sie langsame SQL-Anweisungen in MySQL

Wie finde ich langsame SQL-Anweisungen in MySQL? ...

Implementierung mehrerer Tomcat-Instanzen auf einer einzigen Maschine

1. Einleitung Zunächst müssen wir eine Frage bean...

Ubuntu 16.04 64-Bit in drei Schritten mit 32-Bit-Programmen kompatibel

Schritt 1: Bestätigen Sie die Architektur Ihres S...

Zusammenfassung der praktischen Methoden von CSS3 (empfohlen)

1. Abgerundeter Rand: CSS- CodeInhalt in die Zwis...

Tabelle der durch hasLayout verursachten CSS-Fehler

Der IE hat schon seit längerem Probleme. Als alle ...