MariaDB
Der Query Planer von MariaDB ist recht einfach zu verstehen. Eine ausführliche Beschreibung findest du in den Dokumentationen von MariaDB.
Wir beginnen mit unserer Grundabfrage von vorhin:
Dies gibt zurück:
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
|---|---|---|---|---|---|---|---|---|---|
| 1 | SIMPLE | player | ALL | null | null | null | null | 10 | Using where |
Beginnen wir mit den einzelnen Spalten und schauen wir uns an, was sie eigentlich bedeuten:
id-> Die Reihenfolge, wenn du mehrere Tabellen kombinierst (Das haben wir noch nicht gemacht)select_type-> Die Herkunft der ausgewählten Daten. Es gibt verschiedene Typen wie einfache oder Selects auf den SchlüsselPRIMARY. Diese werden wir noch öfter sehen.table-> die Tabelle, aus der wir ausgewählt haben. In unserem Fall die Tabelleplayer.Typ-> Das ist wahrscheinlich unsere wichtigste Spalte. In dieser Spalte steht derzeit "all", was bedeutet, dass wir alle Zeilen der Tabelle. Ideal wäre so etwas wieindexoderrange, was eine Verkürzung der Laufzeit bedeutet.possible_keyszeigt die Namen der Schlüssel in der Tabelle an, aus der wir lesen.key-> Der tatsächlich verwendete Schlüssel für unsere Abfrage.key_len-> die Länge des verwendeten Schlüssels, wenn wir mehrspaltige Schlüssel verwendenref-> Die Referenz des Schlüsselwertesrows-> Eine Schätzung, wie viele Zeilen wir erwarten können.Extra-> einige zusätzliche Informationen. In unserem Fall sagt es uns, dass wir nach einer Where-Klausel suchen
Analysieren
Mit dem Schlüsselwort ANALYZE kannst du dir außerdem einen Überblick über die tatsächlichen Vorgänge verschaffen.
Damit wird die Abfrage ausgeführt und der Planungsweg wird zurückgegeben:
Ergebnisse in:
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | r_rows | filtered | r_filtered | Extra |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | EINFACH | player | ALL | null | null | null | null | 10 | 10.00 | 100 | 10 | Mit wo |
Zusätzlich zu den vorherigen Schätzungen zeigen die Spalten mit dem Präfix r_ die tatsächlichen Werte an.