0
у меня есть такой запрос:MySQL повысить производительность запросов
SELECT city.id, city.country_id, localization.lang , localization.name, ... some other fields ...
FROM city city
LEFT OUTER JOIN city_localization localization ON (localization.city_id = city.id)
WHERE city.country_id = '196' AND localization.lang = 'en'
ORDER BY localization.name
"город" схема таблицы:
"city_localization" схема таблицы:
Объяснить вывод:
Как я могу избежать использования FileSort и временно?
Я не знаю о filesort и временном, но я заметил, что вы фильтруете правую часть левого соединения, заменяя его по сути внутренним соединением. Нужно фильтровать 'city_localization' в самом объединении:' LEFT OUTER JOIN local_localization localization ON (localization.city_id = city.id и localization.lang = 'en') '. –