优化MySQL查询,无法更改数据库

时间:2017-06-06 09:25:07

标签: php mysql database optimization

我有点麻烦,我有一个适合我的查询,但它会杀死生产服务器(生成错误)

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查询,因为写这个查询对我来说太难了。有没有人有关于如何加快这个查询的任何提示?任何帮助赞赏。

0 个答案:

没有答案
相关问题