내 웹 사이트 영역을 손상시키는 쿼리가 있습니다. 다음 SQL 문을로드하려고 시도하면 사이트가 계속 회전합니다! 나는 SQL 문에 상당히 익숙하지 않다. 그리고이 특별한 문장은 다른 개발자에 의해 만들어졌다. 다음 진술을 최적화 할 수있는 방법이 있습니까? 또는 더 빨리 실행할 수 있도록 작은 문장으로 나누십시오. 나는 잃어 버렸다! 어떤 도움을 주셔서 감사합니다.JOIN이있는 SQL 문을 더 작은 쿼리로 분해하거나 쿼리를 최적화 할 수 있습니까?
SELECT
`wp_quiz_users`.`Id`,
`wp_quiz_users`.`SessionId`,
`wp_quiz_users`.`Score`,
`wp_quiz_users`.`Date`,
`wp_quiz_users`.`Referrer`,
`wp_quiz_users`.`ContactData`,
(SELECT
SUM(`wp_quiz_users_answers`.`AnswerValue`)
FROM
`wp_quiz_users_answers`
JOIN
`wp_quiz_questions`
ON `wp_quiz_users_answers`.`QuestionId` = `wp_quiz_questions`.`id`
WHERE
`wp_quiz_users_answers`.`UserId` = `wp_quiz_users`.`Id`
AND `wp_quiz_questions`.`Category` = 1) AS `SectionOne`,
(SELECT
SUM(`wp_quiz_users_answers`.`AnswerValue`)
FROM
`wp_quiz_users_answers`
JOIN
`wp_quiz_questions`
ON `wp_quiz_users_answers`.`QuestionId` = `wp_quiz_questions`.`id`
WHERE
`wp_quiz_users_answers`.`UserId` = `wp_quiz_users`.`Id`
AND `wp_quiz_questions`.`Category` = 2) AS `SectionTwo`,
(SELECT
SUM(`wp_quiz_users_answers`.`AnswerValue`)
FROM
`wp_quiz_users_answers`
JOIN
`wp_quiz_questions`
ON `wp_quiz_users_answers`.`QuestionId` = `wp_quiz_questions`.`id`
WHERE
`wp_quiz_users_answers`.`UserId` = `wp_quiz_users`.`Id`
AND `wp_quiz_questions`.`Category` = 3) AS `SectionThree`,
(SELECT
SUM(`wp_quiz_users_answers`.`AnswerValue`)
FROM
`wp_quiz_users_answers`
JOIN
`wp_quiz_questions`
ON `wp_quiz_users_answers`.`QuestionId` = `wp_quiz_questions`.`id`
WHERE
`wp_quiz_users_answers`.`UserId` = `wp_quiz_users`.`Id`
AND `wp_quiz_questions`.`Category` = 4) AS `SectionFour`,
(SELECT
SUM(`wp_quiz_users_answers`.`AnswerValue`)
FROM
`wp_quiz_users_answers`
JOIN
`wp_quiz_questions`
ON `wp_quiz_users_answers`.`QuestionId` = `wp_quiz_questions`.`id`
WHERE
`wp_quiz_users_answers`.`UserId` = `wp_quiz_users`.`Id`
AND `wp_quiz_questions`.`Category` = 5) AS `SectionFive`
FROM
`wp_quiz_users`
해당 검색어는 미친 듯합니다. 나중에 참조 할 때 쿼리는 그렇게 보이지 않습니다. 동일한 테이블을 반복해서 언급하는 쿼리를 의심하십시오. –