아래 쿼리는 row를 count해서 갯수가 1이면 Yes를
0이면 No를 리턴하는 쿼리입니다.
아래와 같이 case when에서 count(*) 를 두번 쓰면
count(*) 가 두 번 실행되어서 성능이 떨어지나요?
그렇다면 어떻게 쿼리를 고치면 성능이 더 좋을지 궁금합니다.
한번 count(*) 한 값을 case when에 변수와 같이 쓰면 더 좋을 것 같은데
여러가지 테스트를 해봤는데 잘 안되네요 ^^;;
select case when count(*) = 0 then 'No'
when count(*) = 1 then 'Yes'
else '' end as contentCount
from TED_USER_CONTENT
WHERE DUID = 'TEST3K5OCTEST' and CONTENT_ID = 1
|