Dieser Artikel stellt allen die Prinzipien der MySQL-Indizierung vor. Ich hoffe, dass er Freunden in Not hilfreich sein wird! (Verwandte Empfehlungen: „MySQL-Tutorial“) Die Abfrageeffizienz kann mit einem Wörterbuch verglichen werden. Wenn wir das Wort „MySQL“ nachschlagen möchten, müssen wir unbedingt den Buchstaben „m“ und dann den Buchstaben „y“ finden von unten nach unten und finden Sie dann die verbleibende SQL. Wenn kein Index vorhanden ist, müssen Sie möglicherweise alle Wörter durchsuchen, um das Gesuchte zu finden. Was ist, wenn ich Wörter finden möchte, die mit m beginnen? Oder wie wäre es mit Wörtern, die mit ze beginnen? Sind Sie der Meinung, dass diese Angelegenheit ohne einen Index überhaupt nicht abgeschlossen werden kann?
MySQL-Indexprinzip
Neben Wörterbüchern sind Beispiele für Indexe überall im Leben zu sehen, etwa Zugfahrpläne an Bahnhöfen, Buchkataloge usw. Ihre Prinzipien sind die gleichen. Indem Sie den Umfang der Daten, die Sie erhalten möchten, ständig einschränken, können Sie die gewünschten Endergebnisse herausfiltern und gleichzeitig zufällige Ereignisse in sequentielle Ereignisse umwandeln. Das heißt, wir verwenden immer die gleiche Suche Methode zum Sperren von Daten.
Das Gleiche gilt für die Datenbank, aber sie ist offensichtlich viel komplizierter, da sie nicht nur äquivalenten Abfragen gegenübersteht, sondern auch Bereichsabfragen (>, <, between, in), Fuzzy-Abfragen (wie ) und Union-Abfragen ( oder) und so weiter. Wie soll die Datenbank mit allen Problemen umgehen? Denken wir noch einmal an das Wörterbuchbeispiel zurück. Können wir die Daten in Segmente unterteilen und sie dann segmentweise abfragen? Der einfachste Weg besteht darin, bei 1.000 Daten 1 bis 100 in den ersten Abschnitt, 101 bis 200 in den zweiten Abschnitt und 201 bis 300 in den dritten Abschnitt zu unterteilen ... Auf diese Weise wird überprüft Nach dem 250. Datenelement müssen Sie nur den dritten Abschnitt finden, der 90 % der ungültigen Daten entfernt.Aber wenn es sich um einen Rekord von 10 Millionen handelt, in wie viele Segmente sollte er dann unterteilt werden? Schüler mit ein wenig Algorithmenkenntnissen werden an Suchbäume denken, deren durchschnittliche Komplexität lgN beträgt und die eine gute Abfrageleistung aufweisen. Aber hier haben wir ein zentrales Problem übersehen. Das Komplexitätsmodell basiert auf den gleichen Betriebskosten, und die Daten werden auf der Festplatte gespeichert, um die Leistung zu verbessern Berechnen Sie jedes Mal den Speicher, da wir wissen, dass die Kosten für den Zugriff auf die Festplatte etwa 100.000 Mal so hoch sind wie für den Zugriff auf den Speicher, sodass ein einfacher Suchbaum komplexe Anwendungsszenarien nicht erfüllen kann.
Das obige ist der detaillierte Inhalt vonWas ist das Prinzip des MySQL-Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!