Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wann wird ein MySQL-Index erstellt?

怪我咯
Freigeben: 2017-04-01 10:21:41
Original
1360 Leute haben es durchsucht

Index kann die Effizienz des Datenabrufs verbessern und die E/A-Kosten der Datenbank senken, und der Index kann auch die Sortierkosten der Datenbank senken. Der Sortiervorgang Gruppierung verbraucht hauptsächlich CPU-Ressourcen und Speicher. Wenn Sie also den Index beim Sortier- und Gruppierungsvorgang sinnvoll nutzen, wird der Verbrauch von CPU-Ressourcen erheblich reduziert.

Wie kann festgestellt werden, ob ein Index erstellt werden soll?
1. Wir alle kennen dieses Feld , das häufig als Abfragebedingung
verwendet wird. Was bedeutet es, häufig zu unterrichten? Analysieren Sie alle von Ihnen ausgeführten SQL-Anweisungen. Am besten ist es, sie alle einzeln aufzulisten. Nach der Analyse stellten wir dann fest, dass einige der Felder in den meisten SQL-Anweisungsabfragen verwendet werden, und erstellten daher gezielt Indizes für sie.
2. Felder mit schlechter Eindeutigkeit sind nicht für die Indizierung geeignet
Was sind Felder mit schlechter Eindeutigkeit? Wie Statusfeld und Typfeld. Die Felder, die nur wenige feste Werte speichern, wie z. B. den Benutzer-Login--Status, den Nachrichtenstatus usw. Dabei handelt es sich um die Merkmale des Index-Scannings. Beispiel: Suchen Sie über den Index einige Daten mit den Schlüsselwerten A und B, finden Sie über A ein passendes Datenelement, und diese Daten befinden sich auf Seite X. Fahren Sie dann mit dem Scannen fort und stellen Sie fest, dass die mit A übereinstimmenden Daten auf Seite Y angezeigt werden , dann verwirft die Speicher-Engine die Daten auf Seite X, wird erneut gescannt und Seite X wird zweimal oder sogar mehrmals gescannt. Analog dazu kann dieselbe Datenseite wiederholt gelesen, verworfen und erneut gelesen werden, was zweifellos die E/A-Belastung der Speicher-Engine erheblich erhöht.
3. AktualisierenEin zu häufiges Feld ist nicht zum Erstellen eines Index geeignet
Wenn Sie einen Index für dieses Feld erstellen, wenn Sie die Felddaten erneut aktualisieren Die Datenbank aktualisiert ihren Index automatisch. Wenn dieses Feld also zu häufig aktualisiert wird, wird der Index ständig aktualisiert. Die Auswirkungen auf die Leistung sind vorstellbar. Nur Felder, die Dutzende Male abgerufen und einmal aktualisiert wurden, entsprechen mehr den Indizierungsspezifikationen. Und wenn ein Feld im selben Zeitraum mehrmals aktualisiert wird, kann es nicht indiziert werden.
4. Felder, die nicht in der Where-Bedingung erscheinen, sollten nicht indiziert werden
Ich glaube, das weiß jeder.


Das obige ist der detaillierte Inhalt vonWann wird ein MySQL-Index erstellt?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!