Plan wyjaśniania jest zwykle najlepszym miejscem do rozpoczęcia, gdy masz wolne zapytanie. Aby go zdobyć, uruchom
DESCRIBE SELECT source_id FROM directions WHERE (destination_id = 10);
Spowoduje to wyświetlenie tabeli z listą kroków wymaganych do wykonania zapytania. Jeśli widzisz dużą wartość w kolumnie „wiersze” i NULL w kolumnie „klucz”, oznacza to, że Twoje zapytanie musi przeskanować dużą liczbę wierszy, aby określić, które z nich zwrócić.
W takim przypadku dodanie indeksu do destination_id powinno znacznie przyspieszyć Twoje zapytanie, przy pewnym koszcie szybkości wstawiania i usuwania (ponieważ indeks również będzie musiał zostać zaktualizowany).