Как оптимизировать такой sql запрос?
Выдайте этот запрос в консоли, добавив перед ним команду EXPLAIN. Получите план запроса, в нём смотрите где и какие индексы используются, где их надо добавить.
MYSQL джоинит таблицы через внутренние циклы. Такое количество джоинов - убийственно. Может вам стоит подумать о денормализации данных?