SQL
WYJAŚNIJ I OPIS
Szukaj…
OPIS tablename;
DESCRIBE
i EXPLAIN
są synonimami. DESCRIBE
na tablename zwraca definicję kolumn.
DESCRIBE tablename;
Przykładowy wynik:
COLUMN_NAME COLUMN_TYPE IS_NULLABLE COLUMN_KEY COLUMN_DEFAULT EXTRA
id int(11) NO PRI 0 auto_increment
test varchar(255) YES (null)
Tutaj zobaczysz nazwy kolumn, a następnie typ kolumn. Pokazuje, czy w kolumnie dozwolony jest null
i czy kolumna używa indeksu. wyświetlana jest również wartość domyślna, a jeśli tabela zawiera jakieś specjalne zachowanie, takie jak auto_increment
.
WYJAŚNIJ Wybierz zapytanie
Explain
przed select
zapytaniem pokazuje, w jaki sposób zapytanie zostanie wykonane. W ten sposób możesz sprawdzić, czy zapytanie korzysta z indeksu, czy możesz zoptymalizować zapytanie, dodając indeks.
Przykładowe zapytanie:
explain select * from user join data on user.test = data.fk_user;
Przykładowy wynik:
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)
po type
widać, czy użyto indeksu. W kolumnie possible_keys
widać, czy plan wykonania może wybierać spośród różnych indeksów, jeśli żaden nie istnieje. key
informuje o aktualnie używanym indeksie. key_len
pokazuje rozmiar w bajtach dla jednego elementu indeksu. Im niższa jest ta wartość, tym więcej elementów indeksu mieści się w tym samym rozmiarze pamięci i można je szybciej przetwarzać. rows
pokazuje oczekiwaną liczbę wierszy, które zapytanie musi przeskanować, im niższa, tym lepiej.