Klassifizierung von MySQL-Indizes

Klassifizierung des Index

MySQL-Indizes umfassen gewöhnliche Indizes, eindeutige Indizes, einspaltige Indizes, mehrspaltige Indizes und räumliche Indizes.

  • Logisch gesehen gibt es vier Haupttypen von Indizes:
  1. normaler Index
  2. eindeutiger Index
  3. Primärschlüsselindex
  4. Volltextindex
  • Entsprechend der physischen Implementierung wird der Index in zwei Typen unterteilt: Clustered-Index und Nicht-Clustered-Index.
  • Entsprechend der Anzahl der Funktionsfelder wird es in einspaltige Indizes und gemeinsame Indizes unterteilt

1. Gewöhnlicher Index

Bei der Erstellung eines gewöhnlichen Index gibt es keine Einschränkungen und er wird nur zur Verbesserung der Abfrageeffizienz verwendet. Dieser Indextyp kann in jedem Datentyp erstellt werden . Ob sein Wert eindeutig und ungleich Null ist, hängt von den Integritätsbeschränkungen des Felds selbst ab. Nachdem der Index erstellt wurde, kann er über den Index abgefragt werden. Beispiel: Erstellen Sie einen gemeinsamen Index für das Namensfeld in der Studententabelle, und Abfragedatensätze können basierend auf diesem Index abgefragt werden.

2. Eindeutiger Index

Verwenden Sie den Parameter UNIQUE , um den Index als eindeutigen Index festzulegen. Beim Erstellen eines eindeutigen Index muss der Wert des Index eindeutig sein, es sind jedoch Nullwerte . Eine Datentabelle kann mehrere eindeutige Indizes enthalten .

Beispiel: Erstellen Sie einen eindeutigen Index für das E-Mail-Feld in der Tabelle Student. Dann muss der Wert des Felds E-Mail eindeutig sein. Durch einen eindeutigen Index kann ein Datensatz schneller identifiziert werden.

3. Primärschlüsselindex

Der Primärschlüsselindex ist ein spezieller eindeutiger Index. Auf der Grundlage des eindeutigen Index wird eine Einschränkung hinzugefügt, die besagt, dass er nicht leer sein darf, d. h. NOT NULL + UNIQUE. Eine Tabelle hat höchstens einen Primärschlüsselindex.

  • Warum?
  • Dies wird durch die physische Implementierung des Primärschlüsselindex bestimmt, da die in der Datei gespeicherten Daten nur in einer Reihenfolge gespeichert werden können.

4. Einspaltiger Index

Indizes, die auf einem einzelnen Feld basieren

5. Mehrspaltiger (Kombinations-, Gelenk-)Index

Ein mehrspaltiger Index erstellt einen Index für eine Kombination mehrerer Felder in einer Tabelle. Der Index verweist auf mehrere Felder, die der Erstellung entsprechen, und kann über diese Felder abgefragt werden, jedoch nur, wenn das erste Feld dieser Felder in der Abfragebedingung verwendet wird. Erstellen Sie beispielsweise einen mehrspaltigen Index idx_id_name_gender (Indexbenennungskonvention: idx_field name) für die Felder id, name und gender in der Tabelle. Dieser Index wird nur verwendet, wenn das Feld id in der Abfragebedingung verwendet wird . Befolgen Sie bei der Verwendung zusammengesetzter Indizes die Präfixsammlung ganz links (Prinzip der Übereinstimmung ganz links).

6. Volltextindex

  • Verwenden Sie im Allgemeinen die ES-Wortsegmentierungssuche

Die Volltextindizierung (auch Volltext-Retrieval genannt ) ist eine Schlüsseltechnologie, die derzeit von Suchmaschinen verwendet wird. Es kann die Häufigkeit und Wichtigkeit von Schlüsselwörtern im Text mithilfe verschiedener Algorithmen wie [Wortsegmentierungstechnologie] intelligent analysieren und dann die gewünschten Suchergebnisse gemäß bestimmten Algorithmusregeln intelligent herausfiltern . Volltextindizes eignen sich sehr gut für große Datensätze und sind für kleine Datensätze weniger nützlich.

Mit dem Parameter FULLTEXT können Sie den Index als Volltextindex festlegen. Die Volltextsuche von Werten wird für Spalten unterstützt, die Indizes definieren, wodurch das Einfügen von Duplikat- und Nullwerten in diese indizierten Spalten ermöglicht wird. Volltextindizes können nur für CHAR-, VARCHAR- oder TEXT- Felder und deren Serientypen erstellt werden. Bei der Abfrage von Zeichenfolgenfeldern mit einer großen Datenmenge kann die Verwendung von Volltextindizes die Abfragegeschwindigkeit verbessern .

7. Raumindex

Verwenden Sie den Parameter SPATIAL, um den Index als räumlichen Index festzulegen.

Räumliche Indizes können nur für räumliche Datentypen erstellt werden, was die Effizienz des Systems bei der Beschaffung räumlicher Daten verbessern kann. Zu den räumlichen Datentypen in MySQL gehören GEOMETRY, POINT, LINESTRING und POLYGON. Derzeit unterstützt nur die MyISAM-Speicher-Engine den räumlichen Abruf und die indizierten Felder dürfen nicht null sein.

Guess you like

Origin blog.csdn.net/weixin_42675423/article/details/131690541