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
In diesem Artikel wird die Installations- und Kon...
In diesem Artikel wird der spezifische Code von V...
Vor kurzem musste ich alle Felder einer verknüpft...
In diesem Artikel wird der spezifische JavaScript...
Aufgrund der zunehmenden Anzahl von Schaltflächen...
Inhaltsverzeichnis 1. Einführung in den V-Slot 2....
Swap-Speicher ist heutzutage ein gängiger Aspekt ...
Löschen Sie das Symbol 1 vor ul li Wert löschen 1 ...
IE8 wird mehrere Kompatibilitätsmodi haben. Der IE...
Visual Studio Code ist ein leistungsstarker Texte...
Wie definiert man komplexe Komponenten (Klassenko...
Wirkung: CSS-Stil: <style type="text/css&...
Bei den vielen Projekten, an denen ich mitgearbei...
Herzattribute opacity: .999 erstellt einen Stapel...
1. Erstellen Sie eine Tabelle CREATE TABLE `stude...