나는 내 인생이 알아낼 수없는 것 : X여러 하위 쿼리의 GROUP_CONCAT?
나는 두 개의 테이블이 ..
- 1 = 태그는
- 2 = 태그 데이터
프로필을 쿼리 할 때 각 프로필은 태그 링크 테이블에 여러 항목을 가질 수 있습니다. 일단 태그 링크를 검색하면 태그 데이터 테이블에서 태그 텍스트를 가져 오려고합니다. 그 해결책이 정확히되지 않도록이 사용자에게 할당되어있는 경우 각 쿼리는 5 소요로 다음 검사를 SELECT * FROM platform.tagWords WHERE tagId IN (SELECT tagId FROM platform.user sProfilesTags WHERE userId = 1001)
을하지만 (50,000 주위) 각 태그를 통과하고 :
나는이 작업을 수행 할 수 있습니다 8 초.
되돌릴 방법이 있습니까?
모든 조언이나 조언을 부탁드립니다.
미리 감사드립니다.
* 업데이트는 그래서 나는이에게 참여와 찌르기를 제공하기 위해 노력하고있어,하지만 난 너무 거기에 붙어 : P
SELECT
GROUP_CONCAT(tagWords.tagWord SEPARATOR ', ') AS tags,
usersProfiles.*
FROM platform.users u
INNER JOIN platform.usersProfilesTags ON usersProfilesTags.userId = u.userId
INNER JOIN platform.usersProfiles ON usersProfiles.userId = u.userId
INNER JOIN platform.tagWords ON tagWords.tagId = usersProfilesTags.tagId
WHERE u.userName = 'mattstest'
프로필을 언급하고 있지만 태그 데이터는 테이블입니까? –
예, 다른 (원본 테이블)은 usersProfiles입니다. 여기서 userId를 통해 태그 링크 테이블에서 링크 된 태그를 찾습니다. –
테이블 스키마 (테이블에 대한'CREATE' 문)는 무엇입니까? join statement의 결과는 여러분이 원하는 것이 아닙니다. – outis