MySQL-Abfrage ohne Verwendung der Indexaggregation Wie wir alle wissen, ist das Hinzufügen von Indizes eine effektive Methode, um die Abfragegeschwindigkeit zu verbessern. In vielen Fällen verwenden Abfragen jedoch auch nach dem Hinzufügen von Indizes immer noch keine Indizes, was die Leistung erheblich beeinträchtigt. Hier sind einige einfache Beispiele dafür, dass MySQL keine Indizes verwendet. Wenn MySQL schätzt, dass die Verwendung eines Indexes langsamer wäre als ein vollständiger Tabellenscan, wird der Index nicht verwendet. Wenn der Spaltenschlüssel beispielsweise gleichmäßig Wenn Sie eine MEMORY/HEAP-Tabelle verwenden und in der Where-Bedingung zum Indizieren der Spalte kein "=" verwenden, wird der Index nicht verwendet. Die Head-Tabelle verwendet den Index nur, wenn die Bedingung "=" verwendet wird. Bei durch „oder“ getrennten Bedingungen gilt: Wenn die Spalte in der Bedingung vor „oder“ einen Index hat, die Spalte danach jedoch nicht, werden die beteiligten Indizes nicht verwendet. Beispiel: Zusammengesetzter Index: Wenn die Indexspalte nicht der erste Teil des zusammengesetzten Indexes ist, wird der Index nicht verwendet (d. h., er entspricht nicht dem Präfix ganz links). Wenn der zusammengesetzte Index beispielsweise (Schlüssel1, Schlüssel2) ist, wird die Abfrage Wenn „like“ mit „%“ beginnt, wird der Index dieser Spalte nicht verwendet. Beispielsweise Wenn die Spalte eine Zeichenfolge ist, muss der Zeichenkonstantenwert in der Where-Bedingung in Anführungszeichen gesetzt werden. Andernfalls wird der Index für die Spalte nicht verwendet, selbst wenn er vorhanden ist. Aus dem Obigen können wir ersehen, dass ein Index, selbst wenn wir ihn erstellen, möglicherweise nicht verwendet wird. Woher wissen wir also, wie unser Index verwendet wird? ? In MySQL gibt es zwei Variablen: Weitere Informationen zum korrekten Erstellen eines MySQL-Index finden Sie in der ausführlichen Erklärung zum korrekten Erstellen eines MySQL-Index. Wie wir alle wissen, können Tabellenindizes die Effizienz des Datenabrufs verbessern, die E/A-Kosten der Datenbank senken und die Kosten für die Datenbanksortierung reduzieren. Indizes sind jedoch nicht immer effektiv. Beispielsweise führen die folgenden Situationen zu Indexfehlern: 1. Wenn in der Bedingung ein „oder“ steht, wird der Index nicht verwendet, auch wenn in der Bedingung ein Index steht (deshalb wird „oder“ in SQL-Anweisungen so wenig wie möglich verwendet) Hinweis: Wenn Sie „oder“ verwenden und den Index wirksam machen möchten, können Sie in der „oder“-Bedingung nur jeder Spalte einen Index hinzufügen. 2. Bei einem mehrspaltigen Index wird der Index nur verwendet, wenn der erste Teil verwendet wird. 3. Wenn die Like-Abfrage mit % beginnt, wird der Index nicht verwendet. 4. Wenn der Spaltentyp ein String ist, müssen die Daten in der Bedingung in Anführungszeichen gesetzt werden, sonst wird der Index nicht verwendet. 5. Wenn MySQL schätzt, dass ein vollständiger Tabellenscan schneller ist als ein Index, wird der Index nicht verwendet. Darüber hinaus können Sie die Verwendung des Indexes einsehen Status wie „Handler_read%“ anzeigen; Darauf kann jeder achten: 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:
|
<<: Realisierung von Provinz- und Gemeindeverknüpfungseffekten auf Basis von JavaScript
>>: Einfache Verwendung des Vue Vee-Validate-Plugins
Trigger können dazu führen, dass vor oder nach de...
1. Horizontale Mitte Öffentlicher Code: html: <...
Ich werde nächstes Semester MySQL lernen. Ich hab...
Mit dem Tag <tfoot> wird der Stil der Tabel...
Die automatische Inkrementierung der Primärschlüs...
Wenn das Home-Verzeichnis des Benutzers immer grö...
Ich habe auf Baidu gesucht. . Manche Leute sagen,...
Verwenden Sie natives JS, um ein neuneckiges Rast...
Verwendungsstatus useState fügt einer Komponente ...
Inhaltsverzeichnis 1. Einige Punkte, die Sie beac...
Was ist SQL? SQL ist eine Sprache zum Betrieb von...
Mybatis-Implementierungsmethode für Fuzzy-Abfrage...
Geben Sie der Zeit Zeit und lassen Sie die Vergan...
Wie kann die Seiten-Rendering-Zeit im Browser so ...
<meta http-equiv="X-UA-kompatibel" c...