SQL
Förklara och beskriva
Sök…
BESKRIV tabellnamn;
DESCRIBE
och EXPLAIN
är synonymer. DESCRIBE
på ett tabellnamn returnerar definitionen av kolumnerna.
DESCRIBE tablename;
Exempel resultat:
COLUMN_NAME COLUMN_TYPE IS_NULLABLE COLUMN_KEY COLUMN_DEFAULT EXTRA
id int(11) NO PRI 0 auto_increment
test varchar(255) YES (null)
Här ser du kolumnnamnen följt av kolumntypen. Det visar om null
är tillåtet i kolumnen och om kolumnen använder ett index. standardvärdet visas också och om tabellen innehåller något speciellt beteende som en auto_increment
.
EXPLAIN Välj fråga
En Explain
framför en select
fråga visar hur frågan kommer att köras. På detta sätt kan du se om frågan använder ett index eller om du kan optimera din fråga genom att lägga till ett index.
Exempelfråga:
explain select * from user join data on user.test = data.fk_user;
Exempel resultat:
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)
på type
ser du om ett index användes. I kolumnen possible_keys
ser du om exekveringsplanen kan välja mellan olika index för om inget finns. key
berättar det akutalt använda indexet. key_len
visar storleken i byte för ett indexobjekt. Ju lägre detta värde är desto fler indexposter passar in i samma minnesstorlek och de kan bearbetas snabbare. rows
visar det förväntade antalet rader som frågan behöver skanna, desto lägre desto bättre.