SQL 쿼리에 문제가 있습니다. 원하는 결과를 얻을 수 있으며 컴퓨터가 정상적으로 작동하지만 학교의 PC에서 데이터베이스를 실행해야하므로 문제. 쿼리에 34 명이 필요합니다!SQL 쿼리 실행 속도가 느림
쿼리는 다음과 같습니다 : 내 PC에 6.
처럼 필요 동안 초이 내 DB이며, 실행되는 당신은 한 대표 최대를 찾을 수있다 (최대 (Carico)) 5 년 넘게 체육관 회원이었던 각 사용자에 대한 "Panca Orizzontale", "Squat", "Estensioni Bilanciere", "Squat"
SELECT U.Nome
, U.Cognome
, MAX(P1.Carico) AS MaxPanca_Orizzontale
, MAX(P2.Carico) AS MaxSquat
, MAX(P3.Carico) AS MaxEstensioni_Bilanciere
, MAX(P4.Carico) AS MaxLento_Avanti
FROM utente AS U
left
join scheda AS S1
on U.CF=S1.ID_Utente
left
join programma AS P1
on S1.ID_Scheda = P1.ID_Scheda
AND P1.nRipetizioni = 1
AND P1.Esercizio = "Panca Orizzontale"
left
join scheda AS S2
on U.CF=S2.ID_Utente
left
join programma AS P2
on S2.ID_Scheda = P2.ID_Scheda
AND P2.nRipetizioni = 1
AND P2.Esercizio = "Squat"
left
join scheda AS S3
on U.CF = S3.ID_Utente
left
join programma AS P3
on S3.ID_Scheda = P3.ID_Scheda
AND P3.nRipetizioni = 1
AND P3.Esercizio = "Estensioni Bilanciere"
left
join scheda AS S4
on U.CF = S4.ID_Utente
left
join programma AS P4
on S4.ID_Scheda = P4.ID_Scheda
AND P4.nRipetizioni = 1
AND P4.Esercizio = "Lento Avanti"
WHERE U.CF IN(SELECT U.CF
FROM utente U
WHERE Data_Iscrizione < date_sub(curdate(), interval 5 year)
)
GROUP
BY U.Nome
, U.Cognome;
원하는 결과입니다 :
이
내가 사용하고 쿼리입니다은 아마 모든 문제 조인, 그것을 만들 수있는 방법이있다 실행 속도가 더 빠름 ?? 시간 내 주셔서 감사합니다
당신이 tablestructures 일부 샘플 데이터를 제공 할 수있는 쿼리를 운영하는 인덱스를 생성? – Philipp
... 원하는 결과. – Strawberry
원하는 결과를 추가했습니다. 이제 테이블 생성을 시도합니다. – LucaPearl