이 질문은 the back of one I asked earlier today에 있습니다. 대답은 내가 내 문제를 해결했기 때문에 반환 된 행을 제한함으로써 내가 원하는 것을 수행 할 수 있음을 알 수 있습니다.LEFT 조인 및 조인 조건에 대한보다 효율적인 SELECT 쿼리 만들기
하지만 지금은 제한없이 분석을 위해 Excel로 내보내기의 목적으로 전체 쿼리를 실행하려고 할 때 아무 것도 얻을 수없는 것처럼 보입니다. MySQL Workbench가 내 암호를 다시 묻고 질의가 실행을 멈춘다는 점에서 SQL을 시작합니다. 나는 그 정보가 뭔가 다른 일이 벌어지고 있는지와 나의 실제 질문에서 "어떻게하면이 쿼리가 더 빨리 실행되도록 할 수 있습니까?"라는 것을 알지 못합니다. 현재 그것은 적어도 5 분 동안 뛰기 전에 실행됩니다.
여기 쿼리가 제공되는 것입니다 EXPLAIN 경우 :
1 SIMPLE co ALL 185610 Using temporary; Using filesort
1 SIMPLE my ref PRIMARY PRIMARY 4 bm_emails.co.id 23
1 SIMPLE nvk eq_ref PRIMARY PRIMARY 4 bm_emails.co.id 1
아마도입니다 원인 임시 테이블 문제가하지만 난 내 쿼리를 유지하면서 그것을 극복하는 방법을 확실 해요 "임시 사용" . 실제 쿼리가 여기에 있습니다 :
SELECT
co.email,
nvk.nvk_medium,
CAST(MIN(co.created) AS DATE) AS first_contact,
MIN(CASE WHEN my.my_id = 581 THEN my.data END) AS WA_Created,
MIN(CASE WHEN my.my_id = 3347 THEN my.data END) AS WA_Upgraded
FROM bm_emails.cid208 co
LEFT JOIN bm_emails.my208 my ON co.id = my.eid AND (my_id = 581 OR my_id = 3347)
LEFT JOIN bm_emails.nvk208 nvk ON nvk.eid = co.id
GROUP BY email
좋은 하루에 Myworkbench가 희박합니다 ... 여기에있는 SQL은 group by 절 (nvk.nvk_medium은 집계가 아니거나 group by 절에 있습니다 ... 다른 데이터베이스는에 대한 오류를 반환합니다. 그것),하지만 그 성능에 영향을 볼 수 없습니다. 테이블이 얼마나 큽니까? – Twelfth