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 wieindex
oderrange
, was eine Verkürzung der Laufzeit bedeutet.possible_keys
zeigt 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.