我有这两个表。有效地处理连接操作
表1具有1000万个具有列gameid和gamename的条目 表2具有几千个具有列userid和gamename的条目。我想通过映射两个表中的游戏名称来为每个用户获取相应的gameid。
我的查询是这样的
SELECT game.id FROM game RIGHT JOIN player ON game.game_name=player.game_name
但它像服用青睐。什么可能是有效的方法呢?
我有这两个表。有效地处理连接操作
表1具有1000万个具有列gameid和gamename的条目 表2具有几千个具有列userid和gamename的条目。我想通过映射两个表中的游戏名称来为每个用户获取相应的gameid。
我的查询是这样的
SELECT game.id FROM game RIGHT JOIN player ON game.game_name=player.game_name
但它像服用青睐。什么可能是有效的方法呢?
考虑使用...
EXPLAIN SELECT game.id FROM game RIGHT JOIN player ON game.game_name=player.game_name
初始EXPLAIN
将让MySQL告诉你它与输出为here很好地解释这样做。
你很可能想在game.game_name
和player.game_name
上找到某种索引。
对不起,评论很糟糕,今晚看书不好......你应该至少有一个关于你加入的领域的索引(来自每张表) – DRapp
@DRapp。我只想要玩家玩游戏的游戏ID。所以如果我有1000名玩家,我只需要1000名玩家玩的游戏 – user34790