0

我有两张桌子。一个用于主帐户,一个用于禁止帐户,我想选择主帐户中的所有成员,并且只选择那些未被禁止的成员。

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 分钟才能执行并显示结果

4

1 回答 1

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
于 2013-08-21T13:08:26.950 回答