0
약 4 분이 걸리는 쿼리가 있습니다. 이 쿼리를 최적화 할 수있는 방법이 있습니까? MySQL 5.6.20을 사용하고 있습니다. 나는 각 내부 조인의 AND 절을 마지막 WHERE 절의 하위 쿼리로 추가하려고 시도했지만 효과가 없습니다.여러 조인을 사용하여 SQL 쿼리 속도 향상
SELECT h.userId
, h.pageId
, h.id
, h.content highlightContent
, h.createdAt highlightCreatedAt
, h.tagName
, h.inputId
, h.children
, p.topic_title pageTitle
, p.topic_uuid guid
, p.topic_position pagePosition
, p.lcms_module_uuid pageModuleId
, mp.module_position modulePosition
, mp.lcms_module_uuid moduleID
, mp.section_uuid moduleSectionUUID
, mp.module_title moduleTitle
, sp.section_uuid sectionGuid
, sp.section_position sectionParentId
, sp.album_uuid sectionAlbumID
, sp.section_title albumTitle
, ap.album_title albumPath
, ap.album_uuid
, ap.id albumId
, ps.id publishId
FROM highlights h
JOIN LCMS3.topic_publishes p
ON p.topic_uuid = h.pageId
AND p.publish_schema_id = 5784
JOIN LCMS3.lcms_module_publishes mp
ON p.lcms_module_uuid = mp.lcms_module_uuid
AND mp.publish_schema_id = 5784
JOIN LCMS3.section_publishes sp
ON sp.section_uuid = mp.section_uuid
AND sp.publish_schema_id = 5784
JOIN LCMS3.album_publishes ap
ON ap.album_uuid = sp.album_uuid
AND ap.publish_schema_id = 5784
JOIN LCMS3.publish_schemas ps
ON ps.topic_publish_uuid = p.topic_publish_uuid
WHERE h.userId = '364663286b6de43c21d7dafe29370441'
AND p.album_uuid = '49152e6b-ca80-4889-a65e-4e6fd1dcc367'
GROUP
BY h.id
ORDER
BY albumId
, sectionParentId
, modulePosition
, pagePosition
나는 인덱스를 찾아 선택 설명 사용했습니다,하지만 난이 시점에서 수정 모르겠어요 :
http://i61.tinypic.com/33tksw2.png
'explain select ... '를 사용하여 인덱스를 사용하는 위치와 그렇지 않은 위치를 확인하고 적절한 인덱스를 추가하십시오. –
'AND pages.publish_schema_id ='5784 '및 다른 이상한'AND' 절의 요점은 무엇입니까? – Jonast92
LCMS3이 다른 데이터베이스입니까? – Strawberry