MySQL 쿼리 최적화 프로그램 이해: COUNT(id) 대 COUNT(*)

WBOY
풀어 주다: 2024-07-18 04:35:10
원래의
377명이 탐색했습니다.

Understanding MySQL Query Optimizer: COUNT(id) vs COUNT(*)

MySQL에서는 거의 매일 "COUNT" 함수를 사용하여 특정 쿼리에 대한 행 수를 계산합니다. 성능과 관련하여 모든 개발자의 가장 큰 딜레마는 "COUNT(*)" 또는 "COUNT(id)"를 사용하는 것이 더 나은지 여부입니다.


MySQL 최적화 프로그램

MySQL 최적화 프로그램은 주어진 SQL 쿼리를 실행하는 가장 효율적인 방법을 결정하는 역할을 하는 MySQL의 중요한 구성 요소입니다. "COUNT"가 가장 빠른 딜레마에서 이 부분이 핵심적인 역할을 합니다. 그럼 설명하자면...

"first_name" 열에 대한 인덱스를 갖게 될 "users" 테이블을 생성합니다:

으아아아

몇 개의 행을 추가하고 다음 2개의 쿼리를 실행합니다.

으아아아 으아아아

이 2개의 SQL 쿼리를 실행하면 동일한 인덱스를 사용한다는 것을 알 수 있습니다. "COUNT(*)"는 전혀 느리지 않으며 MySQL Optimizer는 이를 담당하며 테이블에서 인덱스를 찾습니다. 최고의 성능. 이 경우 두 쿼리는 동일한 인덱스를 사용하고 MySQL 최적화 프로그램이 해당 인덱스가 가장 효율적이라고 결정했기 때문에 동일한 속도로 데이터를 반환합니다.

MySQL Optimizer는 주어진 쿼리가 가능한 한 빨리 데이터를 반환할 수 있도록 최상의 인덱스 키를 선택하는 데 기여하는 많은 매개 변수를 고려합니다.


결론

"COUNT(*)"를 사용하면 MySQL Optimizer가 가장 효율적인 접근 방식을 선택할 수 있으므로 일반적으로 권장되는 반면, "COUNT(column_name)"은 NULL이 아닌 값만 계산해야 하는 상황에서 특히 유용할 수 있습니다. ​​특정 열에서. 최적의 쿼리 성능을 달성하려면 MySQL Optimizer의 작동 방식과 인덱스 사용 방법을 이해하는 것이 중요합니다.

위 내용은 MySQL 쿼리 최적화 프로그램 이해: COUNT(id) 대 COUNT(*)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!