총 5 개의 테이블에서 여러 테이블의 열을 가져 오는 쿼리를 만들어야합니다. 왼쪽 조인의 요지를 얻게되어 기쁩니다. 필요한 결과를 얻는다면, 유일한 문제는 속도입니다. 나는 색인/키에 대해 약간 분실되어 있습니다. 아마도 저의 경우는 제가 온라인으로 읽은 모든 예들에 비 전형적인 것이기 때문입니다. 내 테이블의 "고유 한"ID는 모든 테이블에서 기본 키가 아니며 해당 ID는 테이블에서 여러 행을 가질 수 있기 때문에 (기록/감사 목적). id는 몇 가지 테이블 (##/### 및 ## - ###)에서 서로 다른 형식이기 때문에 일치시키는 함수가 큰 속도를 늦출 수 있습니다. 지금까지 코드를 붙여 넣기가 더 쉬울 수도 있습니다 (단 3 개의 테이블 - 3을 먼저 정복 할 때까지는 모든 것을 수행하지 않습니다!) 누군가는 인덱스와 키를 사용하여 개선하는 방법을 제안 할 수 있습니다.MySQL 트리플 트리플 조인 최적화
SELECT dc.URN,dc.GuideName,dc.GuideStreet,ss.categorycalc,pm.initiatedate
FROM dc
LEFT JOIN pm
ON dc.URN = pm.URN
LEFT JOIN ss
ON dc.URN = replace(ss.URN,"/","-")
WHERE dc.GuidePCode LIKE 'WA9%'
ORDER BY pm.Status ASC;
난 그냥 모든 것을 데이터베이스를 시작하는 작은 조언을 평가하고 '제대로 할'것 등 - 이미 특정 방식으로 특정 테이블에 데이터를 삽입하도록 코딩 프로그램이 많이있다. 따라서 고유 ID의 구조와 특정 테이블에 쓰여지는 방식을 변경하는 것은 실제로 불가능합니다. 이미 가지고있는 데이터에 대한 보고서를 작성하는 데 집중해야합니다. "WA9"부분은 사용자가 검색하려는 항목에 따라 변경됩니다.
해당 쿼리의 [쿼리 실행 계획] (http://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html)은 무엇입니까? 거기서 시작하거나 결과를 게시하고 각 테이블에 대한'CREATE TABLE' 구문과 인덱스를 보여줍니다. 계속할 질문에 충분한 정보가 없습니다. – drew010