SQL
EXPLAIN und BESCHREIBEN
Suche…
BESCHREIBEN Tabellenname;
DESCRIBE
und EXPLAIN
sind Synonyme. DESCRIBE
für einen Tabellennamen gibt die Definition der Spalten zurück.
DESCRIBE tablename;
Beispiel Ergebnis:
COLUMN_NAME COLUMN_TYPE IS_NULLABLE COLUMN_KEY COLUMN_DEFAULT EXTRA
id int(11) NO PRI 0 auto_increment
test varchar(255) YES (null)
Hier sehen Sie die Spaltennamen, gefolgt vom Spaltentyp. Es zeigt an, ob in der Spalte null
zulässig ist und ob die Spalte einen Index verwendet. Der Standardwert wird auch angezeigt und wenn die Tabelle ein spezielles Verhalten wie ein auto_increment
.
EXPLAIN Abfrage auswählen
Ein Explain
infront einer select
Abfrage zeigt Ihnen , wie die Abfrage ausgeführt wird. So können Sie feststellen, ob die Abfrage einen Index verwendet oder ob Sie Ihre Abfrage durch Hinzufügen eines Index optimieren könnten.
Beispielanfrage:
explain select * from user join data on user.test = data.fk_user;
Beispielergebnis:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE user index test test 5 (null) 1 Using where; Using index
1 SIMPLE data ref fk_user fk_user 5 user.test 1 (null)
Bei type
Sie, ob ein Index verwendet wurde. In der Spalte possible_keys
Sie, ob der Ausführungsplan aus verschiedenen Indizes auswählen kann, falls keiner vorhanden ist. key
sagt Ihnen den aktuell verwendeten Index. key_len
zeigt Ihnen die Größe in Bytes für ein key_len
. Je niedriger dieser Wert ist, desto mehr Indexelemente passen in dieselbe Speichergröße und können schneller verarbeitet werden. rows
zeigt die erwartete Anzahl von Zeilen, die die Abfrage scannen muss, je niedriger, desto besser.