Dieser Artikel veranschaulicht anhand von Beispielen den Einfluss von MySQL-Indizes auf die Sortierung. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: Indizes können nicht nur die Abfragegeschwindigkeit verbessern, sondern auch die Sortiergeschwindigkeit erhöhen. Wenn die Anweisung nach order by den Index verwendet, wird die Sortiergeschwindigkeit verbessert. prüfen 1. Erstellen Sie eine Testtabelle: t15-Tabelle CREATE TABLE `t15` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `cat_id` int(10) unsigned NICHT NULL STANDARD '0', `Preis` Dezimalzahl (10,2) NICHT NULL STANDARD '0,00', `name` char(5) NICHT NULL STANDARD '', Primärschlüssel (`id`), ) ENGINE=InnoDB STANDARD-CHARSET=utf8 2. 10.000 Datenzeilen einfügen <?php $db = "Test"; $conn = mysql_connect('localhost','root','1234'); mysql_query('verwenden ' . $db , $conn); mysql_query('Namen auf utf8 festlegen', $conn); für($i=1;$i<=10000;$i++) { $cat_id = rand(1,10); $preis = rand(1,50000); $name = substr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,5); $sql = sprintf("in t15-Werte einfügen (%d, %d, %f, '%s')", $i, $cat_id, $price, $name); : mysql_query($sql, $conn); } 3. Websites von Einkaufszentren sortieren Preise normalerweise nach einer bestimmten Kategorie. Lassen Sie uns dies simulieren und dieselbe SQL-Anweisung ausführen. Wählen Sie Name, Kat.-ID, Preis aus t15, wobei Kat.-ID = 1, sortiert nach Preis; (1) Fügen Sie nicht zuerst einen Index hinzu Aus der Abfrageanalyse können wir ersehen, dass in Extra (2) Fügen Sie der Spalte (cat_id, price) einen Index hinzu Tabelle ändern t15, Index hinzufügen cp(cat_id,price); In der Abfrageanalyse hier verwendet Extra nicht Using filesort, was bedeutet, dass das SQL, das den Index hinzufügt und dann die Abfrage ausführt, keine externe Sortierung verwendet, sondern die Indexsortierung verwendet. Da der Index selbst sortiert ist, ist kein zusätzliches „order by“ erforderlich. 4. Beobachtungsabfragezeit Die Anweisung mit Query_ID 1 wird ohne Hinzufügen eines Index ausgeführt, und die Anweisung mit Query_ID 3 wird nach Hinzufügen eines Index ausgeführt. Die Ausführungszeit der einen beträgt 0,013 Sekunden, die Ausführungszeit der anderen 0,005 Sekunden. Mit dem Index ist es definitiv schneller. Mal sehen, wo es schneller ist. Detaillierte zeitaufwändige Grafik der SQL-Anweisung mit Query_ID 1: Detailliertes Zeitverbrauchsdiagramm für die SQL-Anweisung mit Query_ID 3: Offensichtlich dauert Schlussfolgerung: Der Index hat einen gewissen Einfluss auf die Sortiergeschwindigkeit. Daher ist es bei der tatsächlichen Entwicklung erforderlich, den Index basierend auf der tatsächlichen Situation zu formulieren und dem Index so viele Sortierfelder wie möglich hinzuzufügen. Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „Zusammenfassung der Kenntnisse im Bereich MySQL-Indexoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Allgemeinfunktionen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Protokolloperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Transaktionsoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-gespeicherte Prozeduren“ und „Zusammenfassung der Kenntnisse im Zusammenhang mit MySQL-Datenbanksperren“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Lösung für das Nginx-Panikproblem
>>: Kleines Programm zur Implementierung eines einfachen Taschenrechners
Das Befehlsmuster ist ein Verhaltensentwurfsmuste...
Inhaltsverzeichnis Kurze Einleitung Intervall fes...
Die Frage wird zitiert von: https://www.zhihu.com...
Nginx ist mittlerweile einer der beliebtesten Loa...
Wie unten dargestellt: aus Tabelle wobei Bedingun...
Ohne weitere Umschweife werde ich den Code direkt...
1. Zusätzlich zum Standardport 8080 versuchen wir...
Inhaltsverzeichnis 1. Änderung der Ubuntu-Quelle ...
Inhaltsverzeichnis In vue2 In vue3 Hinweise zur E...
Lösung Verzichten Sie auf die Linux-VM, die mit D...
Wenn die Tabelle breit ist, kann es zu einem Über...
So setzen Sie den Anfangswert der Auto-Increment-...
Als Neuling, der gerade mit dem Linux-System in K...
# Installations-Daemon-Konfiguration für Redis un...
In diesem Artikelbeispiel wird der spezifische JS...