쿼리조언 0 6 422

by 신의한수 [MySQL] [2019.10.15 16:28:28]


안녕하세요.

바로아래문의에서 쿼리문관련 조언을 구했는데요.

쿼리문을 다음과 같이 변경을 했습니다.

위처럼 검색을 했을경우 첨부파일을 보면 category값이 노출이 안되는데요 ㅡㅡ

제가 쿼리문을 잘못구성을 한듯한데. 어느부분이 잘못되었는지 도통 알수가 없네요.

조언좀 부탁드립니다.

----------------------------------------------------

안녕하세요. 

현재 제품관련 프로그램을 진행중에 있습니다.

 

작업하는과정중에 데이터가 많다보니 속도가 엄청느려지는 문제가 발생하여 

구성된 쿼리문이 잘못된듯싶은데...그에따른 고수님들의 조언좀 얻고자 합니다.

쿼리구성

SELECT x.code
, x.name
, x.img
, x.sort
FROM product x 
LEFT JOIN recategory y 
ON y.code = x.code 
WHERE x.code != '' 
ORDER BY x.sort DESC, x.code DESC

* product : 상품테이블

* recategory : 카테고리상품테이블 (1개의 상품에 여러개의 카테고리가 등록될수있습니다)

현재 데이터는 44만건정도인데요. 

속도가 너무나도 느려서 도대체 어디가 문제인지 가늠을 할수가 없네요.

추가적으로 인덱스는 잡혀있습니다.

 

조언좀 부탁드립니다.

by 마농 [2019.10.15 16:31:43]

1. 실제로 조건에 맞는 자료가 없거나
2. 조건을 잘못 작성했거나.


by 신의한수 [2019.10.15 16:39:43]

해당 검색어로 자료는 존재합니다.

감사합니다.


by 마농 [2019.10.15 16:42:15]

있는데도 안나온다고 생각하시면 답이 없습니다.
안나온다면 안나오는 이유가 있을 것입니다.
있는데 안나온다고 생각하지 마시고 안나오는 이유를 찾아보세요.


by 신의한수 [2019.10.15 16:50:18]

네. 답변감사합니다.


by 코딩허접 [2019.10.16 06:07:36]

1. AND 를 WHERE 로 바꿔보시죠

SELECT wp.prdnum
     , wp.prdname
     , wp.sort
     , wc.catcode
 FROM (
    SELECT prdnum
         , prdname
         , sort
      FROM product
     WHERE prdnum != ''
     ORDER BY sort DESC
     LIMIT 0, 20
     ) wp
  LEFT JOIN categoryre wc 
    ON wp.prdnum = wc.prdnum
   WHERE wc.category LIKE '0001%'

 


by 호야별리 [2019.10.16 09:36:23]

답변감사합니다^^
ORDER BY와 limit때문에 그런것인지...
특정카테고리는 검색되고 또 그렇지 않은 카테고리도 있네요.
좀더 봐야할듯싶습니다.
관심감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입