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.