我有两张桌子。一个用于主要帐户,一个用于禁止帐户,我想选择主帐户中的所有成员,只选择那些未被禁止的成员。
SELECT Username, $field AS Output
FROM `Player_Accounts`, `Ban_List`
WHERE Ban_List.Banned_Name != Username
ORDER BY $field DESC LIMIT 0, 25;
查询需要超过1,30分钟才能执行并显示结果
答案 0 :(得分:0)
恕我直言,你的查询不对。行数非常高(有130万用户?)
试试这个:
SELECT p.username
FROM Player_Accounts p
WHERE NOT EXISTS(
SELECT 'BANNED'
FROM Ban_List b
WHERE b.banned_name = p.username
)
替代:
SELECT p.username
FROM Player_Accounts p
LEFT OUTER JOIN Ban_List b
ON p.username = b.banned_name
WHERE b.banned_name IS NULL