카운트할때 효율성에 대해 질문드립니다! 0 2 884

by 곤 [SQL Query] [2019.03.05 11:32:38]


안녕하세요! 혼자 공부중 갑자기 궁금한 부분이 생겨서요! 간단하지만 원리를 좀 더 알고싶어서 질문드려요.

간단하게 select문에서 카운트할때 생각해본 2자기 방법중 어떤방법이 더욱 효율적이고 두 방법의 차이점에 대해 좀더 알고싶어서 질문드립니다!

1. SUM을 이용한 카운팅입니다.

SELECT SUM(IF (a.AvgData < b.amount , 1 , 0)) AS CNT

2. COUNT를 이용한 카운팅입니다.

SELECT COUNT(CASE WHEN a.AvgData < b.amount THEN 1 END) AS CNT

결과값은 동일한걸 확인했습니다. SUM과 COUNT를 사용했을때 차이점에 대해 설명해주시면 감사하겠습니다!!!

by 마농 [2019.03.05 13:09:44]

전체 10억건의 자료중 조건을 만족하는 자료가 10건이라면?
1번은 10억개의 1 과 0 을 더하기 할거구요.
2번은 10개의 1 을 카운트 하겠네요.


by 곤 [2019.03.05 13:14:35]

생각해보니 정말 간단한 원리내요 ㅋㅋㅋ 답변 감사합니다!!

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