0

我有这样一个查询:

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”表架构:

在此处输入图像描述

解释输出:

在此处输入图像描述

如何避免使用文件排序和临时文件?

4

1 回答 1

1

您需要为localization.city_id和另一个创建一个索引localization.name(您目前有一个也包括localization.lang)。

如果您要检索很多行,您可能希望从您的选择中删除city.country_idlocalization.lang从您的选择中删除,毕竟您已经拥有这些值。

于 2012-04-08T20:51:09.607 回答