Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wird ein Index in MySQL verwendet?

WBOY
Freigeben: 2022-04-27 19:11:15
Original
11966 Leute haben es durchsucht

Die Verwendung des Index durch in in MySQL: 1. Wenn die In-Abfrage dem Prinzip „am weitesten links“ entspricht, kann der Index normal verwendet werden. 2. Wenn vor der Abfrage eine Bereichsabfrage steht, wird der gemeinsame Index verwendet ungültig und es wird kein Index verwendet. 3. Wenn der Abfragewerttyp int und der Spaltentyp vachar ist, schlägt der Index fehl.

Wird ein Index in MySQL verwendet?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, MySQL-Version 5.7.17, Dell G3-Computer.

Wird der Index in MySQL verwendet?

1. In der MySQL-Version kann der Index

+-----------+
| version() |
+-----------+
| 5.7.17 |
+-----------+
Nach dem Login kopieren

2 verwendet werden scheitern.

3. Die Datenmenge ist zu groß (200 W) und es gibt viele In-Bedingungen. Dies sollte vom MySQL-Optimierer beurteilt werden. Wenn die Datenmenge groß ist, ist die Indizierung für In-Abfragen möglicherweise nicht die beste. (PS: In diesem Teil muss die Beurteilung des mit MySQL gelieferten Optimierers berücksichtigt werden. Das Ausführungsprinzip des MySQL-Optimierers ist ziemlich kompliziert. Kurz gesagt, es ist die Beurteilung verschiedener Bedingungen, um die optimale Lösung auszuwählen, die MySQL für richtig hält )

Wird die Abfrage also für die zum gemeinsamen Index hinzugefügten Felder wirksam sein?

Zuallererst: Für den gemeinsamen Index müssen wir ein Konzept klären. Für den gemeinsamen Index wird die Ausführungsreihenfolge von links nach rechts abgeglichen, was der Reihenfolge nach ID, Name usw. entspricht. Das erste Feld muss in Ordnung sein. Wenn Sie den Index des zweiten Felds verwenden, müssen Sie zuerst das erste Feld verwenden und sicherstellen, dass das zweite Feld in Ordnung ist.

Zweitens: Das Präfix-Matching-Prinzip ganz links, ein sehr wichtiges Prinzip. MySQL passt immer nach rechts, bis es auf eine Bereichsabfrage trifft (>, „3“ und d = „4“, wenn (a,b,c,d ) ist eingerichtet. Für sequentielle Indizes kann d den Index nicht verwenden, da das Feld c eine Bereichsabfrage durchführt und der gemeinsame Index ungültig ist. Wenn Sie einen Index für (a, b, d, c) erstellen, ist die Reihenfolge von a, b , d kann beliebig angepasst werden. Das Ergebnis ist das gleiche wie beim obigen Konzept. Wenn die In-Abfrage jedoch normal ist, kann sie verwendet werden Vor der Abfrage schlägt der gemeinsame Index fehl. Natürlich benötigt unsere Abfrage keinen Index. Empfohlenes Lernen:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWird ein Index in MySQL verwendet?. 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