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.