MySQL 대용량 데이터베이스 책 읽고 있는데,
---------------------------------------------
no 이름
---------------------------------------------
1 하하하
2 알찬돌삐
null 히히히
라고 되어있을때.
SELECT COUNT(no) FROM table 을 할 경우.
2 를 반환합니다.
전 보통
SELECT COUNT(0) FROM table 을 쓰는데,
null 이 올수 없는 컬럼 (0) 이 count 함수안에 올 경우
내부적으로 COUNT(*) 으로 변환되다고 하네요.
COUNT(no) 를 하면 no 에서 null 아닌 것을 카운트하며,
COUNT(*) 를 할 경우 전체 컬럼을 세는것이 아니라....
행의 갯수만 세개 된다고 합니다....
이제까지 COUNT(*) 은 나쁘다 라고 알고 있던것에 대한걸 뒤집는것 같네요.
.'Computer > MySQL' 카테고리의 다른 글
my.cnf (0) | 2012.08.10 |
---|---|
트리거에서 테이블명 변수로 사용하여 실행하기 (0) | 2012.07.12 |
MySQL 서버 최적화 참고 문서 (0) | 2010.08.16 |
MySQL DataBase 서버 튜닝 - MySQL Administrator (0) | 2010.08.16 |
MySQL DataBase 서버 튜닝 - Connection과 Memory (0) | 2010.08.16 |