페이지 위쪽에서 옵션값(||| 구분자 형태)을 받아서
해당옵션값에 따라서 해당 옵션별 갯수가 나오게끔
아래와 같은 형식으로 쿼리를 짰는데요
옵션값1|||옵션값2
sum(case when option_value='옵션값1' then 1 else 0 end),
sum(case when option_value='옵션값2' then 1 else 0 end),
해당 옵션값이 많지 않은 경우에는 문제가 안 되는데
옵션값이 100개가 넘고 그러면 속도가 느려지다가
쿼리_시간_제한이_만료되었습니다 라고 오류메세지가 뜹니다.
해당 부분을 개선하는 방법이 있을까요?
Comment 5
-
처리짱
2016.08.04 13:59
-
냥냥
2016.08.04 15:42
where 절의 문제는 아닌 것 같습니다. case when 하는 구문이 너무 많아지다보니
그런것 같아요
-
항해자™
2016.08.05 09:17
꼭 옆으로 늘어뜨려야 하나요?
group by로 하고 어플에서 알아서 쓰게하면 좋을 듯 한데요,, -
냥냥
2016.08.07 21:10
모든 옵션별로 갯수가 나와야 되서요
특정기간안에 사용자가 선택한 옵션이 없어도
통계상으로 나와야 되는거라서..
-
항해자™
2016.08.09 21:14
그래도 가능합니다,, 옵션으로 들어온 값을 이용해서 단순 group by하고 없는 값은 0 으로 표기해 줄수 있어요,,,
CASE WHEN의 문제가 아니라 WHERE절의 문제 아닐까요...