我的数据库中有以下两个表:
表1:图像
表2:media_names
我正在运行以下查询:
SELECT media.jeid FROM image AS media
LEFT JOIN file_girls_names AS name ON name.jeid = media.jeid AND name.media_type = "image"
ORDER BY name.first_name, name.last_name
LIMIT 0, 50
当我对此查询进行解释时,额外的列告诉我:
我不确定'使用索引'是不好的,但我很确定'使用临时'和'使用filesort'是不好的。问题是,我不知道如何解决这些问题。我一直在阅读各种各样的,但我似乎无法找到明确的解决方案。谁能给我一些帮助?
谢谢。
答案 0 :(得分:0)
编写查询的方法不止一种,你必须做一些测试,无论如何,这是我的继续。
SELECT `names`.`jeid`
FROM `file_girls_names` AS `names`
INNER JOIN `image` AS `media` ON `names`.`jeid` = `media`.`jeid`
WHERE `names`.`media_type` = 'image'
ORDER BY `names`.`first_name`, `names`.`last_name`
LIMIT 0, 50
注意::这假设您在两个表中都有匹配的列(除非您特别想要左连接,否则这应该没问题)。