Есть 3 таблицы: keywords, images, images_keywords
SELECT SQL_NO_CACHE *
FROM keywords
JOIN(
SELECT DISTINCT keywords.id
FROM keywords
JOIN images_keywords ON keywords.id = keyword_id
JOIN images ON image_id = images.id WHERE images.space = 1
) as ids ON keywords.id = ids.id
Кто может обяснить, почему этот запрос выполняется 1.6с? Подзапрос возвращает ~800 id за 0.0004с, а количество записей в таблице keywords ~1000.

К сожалению, не сильно понимаю, что означают данные из explain. Вижу temporary table, вроде бы плохо, но это данные подзапроса, который выполняется мгновенно.