Планът за обяснение обикновено е най-доброто място да започнете, когато имате бавна заявка. За да получите такъв, стартирайте
DESCRIBE SELECT source_id FROM directions WHERE (destination_id = 10);
Това ще ви покаже таблица, изброяваща стъпките, необходими за изпълнение на вашата заявка. Ако видите голяма стойност в колоната „редове“ и NULL в колоната „ключ“, това означава, че заявката ви трябва да сканира голям брой редове, за да определи кои да върне.
В този случай добавянето на индекс към destination_id би трябвало драстично да ускори заявката ви, на известна цена за вмъкване и изтриване (тъй като индексът също трябва да бъде актуализиран).