[SQL] COUNT(*)와 COUNT(column)차이

June·2021년 8월 4일
0

COUNT(column)

COUNT(column)은 해당 column이 NOT NULL인 row의 수만 센다.

COUNT(*)

COUNT(*)는 테이블의 모든 row의 수를 센다. 참고로 COUNT(1)도 있는데, MySQL의 데이터 엔진인 InnoDB에서는 COUNT(*)과 COUNT(1)의 성능상 차이는 없다. 내부적으로 COUNT()안의 값은 테이블의 모든 row에 할당되는 값이다. 그리고 그 값이 몇번 할당되었는지 세는 것이기 때문에 COUNT(-13)이라고 해도 값은 같다.

참고:
https://dev.mysql.com/doc/refman/5.6/en/aggregate-functions.html#function_count

https://learnsql.com/blog/difference-between-count-distinct/

0개의 댓글