1. SELECT COUNT(*) FROM tablename은 어떤 상황에서도 최선의 선택입니다.
2. SELECT COUNT(*) FROM tablename WHERE COL = 'value';
3. SELECT COUNT(COL) FROM 테이블명 발생을 방지합니다. COUNT(*) 및 COUNT(COL)온라인으로 검색해 보니 다양한 의견이 나왔습니다. 예를 들어 COUNT(COL) ) COUNT(*);보다 빠릅니다. COUNT(*)가 COUNT(COL);보다 빠르다고 생각하는 사람들은 이것은 실제로 문자에 따라 다르다고 아주 웃기게 말했습니다. WHERE 제한이 없으면 COUNT(*)와 COUNT(COL)는 기본적으로 동일한 것으로 간주될 수 있습니다. 그러나 WHERE 제한이 있으면 COUNT(*)가 COUNT(COL)보다 훨씬 빠릅니다. ); 구체적인 데이터 참조는 다음과 같습니다: mysql> SELECT COUNT(*) FROM cdb_posts where fid = 604;+————+| COUNT(fid) |+————+| 79000 |+———— —+ 1개 행(0.03초)mysql> SELECT COUNT(tid) FROM cdb_posts where fid = 604;+————+| ) |+————+| 79000 |+————+1행 세트(0.33초)mysql> SELECT COUNT(pid) FROM cdb_posts 여기서 fid = 604;+————+| COUNT(pid) |+ ————+| 79000 |+————+1행 세트(0.33초)COUNT(*) 일반적으로 기본 키에 대해 인덱스 스캔을 수행하지만 COUNT(COL)은 반드시 그런 것은 아닙니다. 또한 전자는 테이블에서 일치하는 총 레코드 수를 계산하는 반면 후자는 테이블에서 일치하는 모든 COL을 계산합니다. 기록. 차이점이 있습니다. WHERE when COUNT간단히 말하면 COUNT가 있을 때 WHERE 제한이 없으면 MySQL은 저장된 행의 총 개수를 직접 반환합니다. is WHERE 특정 제약 조건 하에서 MySQL의 전체 테이블 탐색은 항상 필요합니다. 최적화 요약: 1. SELECT COUNT(*) FROM tablename은 어떤 상황에서도 최선의 선택입니다. 2. SELECT COUNT(*) FROM tablename을 최소화합니다. = '값' 쿼리; 3. SELECT COUNT(COL) FROM 테이블 이름을 피하세요.