如何改进此查询以删除“使用临时”和“使用Filesort”
问题描述:
此查询需要相当长的时间才能运行,有什么我可以做的改进吗?如何改进此查询以删除“使用临时”和“使用Filesort”
SELECT b.* FROM games_tags bt, games b, tags t
WHERE bt.tag_id = t.tag_id AND (t.tag_text IN ('flash'))
AND b.gameid = bt.game_id AND b.status ='1'
GROUP BY b.gameid ORDER by rating DESC limit 5952, 16
答
请尝试使用JOIN正确连接表中查询
这是不是一个好问题;你需要告诉我们关于这些表格,它们是如何设计的,它们中包含什么样的数据,等等。我们需要更多的细节来帮助你。 –
为什么你使用'IN'而不是t.tag_text ='flash' –
我会发布更多信息,并且在一会儿会更加清晰。 – user183526