MySQL에서 COUNT(1)과 COUNT(*)의 차이에 대해서 알아봤다.
결론은 COUNT(1)과 COUNT(*) 차이가 없다.
COUNT(*)는 NULL 값을 포함하는지 여부에 관계없이 검색된 행 수의 카운트를 반환
COUNT(1), COUNT(0), COUNT(-2312312313) 모두 똑같이 동작함
https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_count
공식문서에 똑같다고 나옴.
COUNT(칼럼명) 은 뭘까?
이것은 NULL값은 제외하고 나온다.
COUNT(*)은 NULL값을 비교하지 않기 때문에 속도가 빠르다 -> 데이터를 읽지 않고 레코드 수만 불러오기 때문
COUNT(칼럼명)은 실제 데이터를 들여다보기 때문에 속도가 느리다
+ 인덱스를 걸어도 속도는 마찬가지
참조 :
https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=77484
'Database > MySQL' 카테고리의 다른 글
[MySQL] 그룹별로 column 데이터 이어 붙이기 (GROUP_CONCAT) (0) | 2022.05.04 |
---|---|
[MySQL] SUM + CASE WHEN + GROUP BY 처리 (1) | 2022.04.20 |
[MySQL] 사칙연산 + 형 변환 (0) | 2022.04.03 |
[MySQL] DATE 타입으로 변경 DATE_FORMAT (0) | 2022.04.02 |
[MySQL] 데이터 삭제 (0) | 2022.03.31 |
댓글