SELECT COUNT(0) 은 COUNT(*) 와 같다?
MySQL 대용량 데이터베이스 책 읽고 있는데,
---------------------------------------------
no 이름
---------------------------------------------
1 하하하
2 알찬돌삐
null 히히히
라고 되어있을때.
SELECT COUNT(no) FROM table 을 할 경우. 2 를 반환합니다.
3 번째 행에 null 이 있기때문에. null 은 포함하지 않음.
전 보통
SELECT COUNT(0) FROM table 을 쓰는데,
null 이 올수 없는 컬럼이 즉, (0) 이 count 함수안에 올 경우
내부적으로 COUNT(*) 으로 변환되다고 하네요.
COUNT(no) 를 하면 no 에서 null 아닌 것을 카운트하며,
COUNT(*) 를 할 경우 전체 컬럼을 세는것이 아니라....
행의 갯수만 세개 된다고 합니다....
이제까지 COUNT(*) 은 나쁘다 라고 알고 있던것에 대한걸 뒤집는것 같네요.
댓글 6개
14년 전
행의 갯수를 세는것과
COUNT(no) 를 세는것....
어느게 더 빠를까.
개인적으론 행의 갯수를 세는 COUNT(*) 이 더 빠를것 같습니다.
COUNT(no) 를 세는것....
어느게 더 빠를까.
개인적으론 행의 갯수를 세는 COUNT(*) 이 더 빠를것 같습니다.
14년 전
저는 COUNT(*) 가 빠르다고해서 COUNT(*)만 사용하고 있습니다.
혹시 http://book.11st.co.kr/Goods.do?cmd=detail&gdsNo=M0000000890428 이책을 보시는건가요?
혹시 http://book.11st.co.kr/Goods.do?cmd=detail&gdsNo=M0000000890428 이책을 보시는건가요?
14년 전
맞습니다. count(*) 이 가장 빠릅니다.
그 다음이 not null 유니크한 컬럼으로 count(col1) 한것이고
아무컬럼이나 count(col2)를 하면 인덱스를 타지 않습니다. full scan 입니다.
그 다음이 not null 유니크한 컬럼으로 count(col1) 한것이고
아무컬럼이나 count(col2)를 하면 인덱스를 타지 않습니다. full scan 입니다.
게시판 목록
자유게시판
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 |
|
1주 전 | 10 | |
| 199718 |
|
1주 전 | 9 | |
| 199717 | 3주 전 | 21 | ||
| 199716 |
느긋한카키쿠키
|
3주 전 | 17 | |
| 199715 |
현대적인무질서한까마귀
|
3주 전 | 20 | |
| 199714 | 3주 전 | 24 | ||
| 199713 | 3주 전 | 33 | ||
| 199712 | 1개월 전 | 292 | ||
| 199711 |
안졸리니졸리니
|
1개월 전 | 144 | |
| 199710 |
|
1개월 전 | 160 | |
| 199709 |
|
1개월 전 | 91 | |
| 199708 | 1개월 전 | 106 | ||
| 199707 | 1개월 전 | 240 | ||
| 199706 | 1개월 전 | 41 | ||
| 199705 | 1개월 전 | 29 | ||
| 199704 | 1개월 전 | 46 | ||
| 199703 | 2개월 전 | 57 | ||
| 199702 | 2개월 전 | 97 | ||
| 199701 | 2개월 전 | 111 | ||
| 199700 | 2개월 전 | 83 | ||
| 199699 | 2개월 전 | 88 | ||
| 199698 | 2개월 전 | 134 | ||
| 199697 | 2개월 전 | 99 | ||
| 199696 |
|
2개월 전 | 245 | |
| 199695 | 2개월 전 | 88 | ||
| 199694 | 2개월 전 | 118 | ||
| 199693 | 2개월 전 | 185 | ||
| 199692 | 2개월 전 | 195 | ||
| 199691 |
|
2개월 전 | 169 | |
| 199690 | 2개월 전 | 257 | ||
| 199689 | 2개월 전 | 160 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기