我有点麻烦,我有一个适合我的查询,但它会杀死生产服务器(生成错误)
SELECT
p.people_id,
p.firstname,
p.lastname,
p.matchname,
p.type,
p.date_of_birth,
a.name as nationality
FROM
(
SELECT p.lastname, p.nationality, p.type, p.date_of_birth,
COUNT(p.people_id) num_people
FROM people p
WHERE p.date_of_birth IS NOT NULL
AND p.people_id NOT IN
(
SELECT people_id
FROM people_not_duplicated
UNION
SELECT connected_player_id AS people_id
FROM people_not_duplicated
)
GROUP BY p.lastname, p.date_of_birth, p.type,p.gender
HAVING num_people > 1
) pj
INNER JOIN people p ON pj.lastname = p.lastname
AND pj.date_of_birth = p.date_of_birth
LEFT JOIN area a ON p.nationality = a.area_id
-- this query has been KILLED!!
我不是特别擅长优化SQL查询,因为写这个查询对我来说太难了。有没有人有关于如何加快这个查询的任何提示?任何帮助赞赏。