У меня есть таблица размером 4 ГБ, и когда я пытаюсь выбрать из нее строку с левым соединением в другой таблице, на диске создается очень большая временная таблица. Мой sql:
select *
from ads
left join theme
ON ads.theme_id = theme.id
ORDER BY ads.id DESC
limit 1
таблица ads
имеет 4 ГБ данных, но таблица theme
очень мала. Когда я пытаюсь объяснить этот запрос, mysql не показывает мне, что временная таблица будет создана, но это так. И когда я использую sql
SELECT *
from ads,
theme
where ads.theme_id = theme.id
ORDER BY ads.id DESC
LIMIT 1
mysql работает очень быстро, однако этот запрос имеет такое же объяснение от mysql.
Я использую движок innodb
и у меня есть только первичные индексы.