성능 비교: SQL_CALC_FOUND_ROWS 대 SELECT COUNT(*)
페이지 매김을 사용하는 동안 쿼리의 총 레코드 수를 구할 때 두 가지 등장하는 메소드: SQL_CALC_FOUND_ROWS 및 SELECT COUNT(*). 최적의 접근 방식을 결정하는 것은 다양한 요인에 따라 달라집니다.
방법 1: SQL_CALC_FOUND_ROWS
이 방법은 초기 SELECT 쿼리에서 SQL_CALC_FOUND_ROWS를 사용하고 이후에 FOUND_ROWS()를 사용하여 총계를 검색합니다. 행 수. 구문은 다음과 같습니다.
SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS();
방법 2: SELECT COUNT(*)
또는 별도의 쿼리에서 SELECT COUNT(*)를 사용하여 행 수를 계산합니다. 원래 쿼리를 실행한 후 구문은 다음과 같습니다.
SELECT * FROM table WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM table WHERE id > 100;
성능 평가
각 방법의 성능은 인덱스 가용성 및 쿼리 복잡성과 같은 요소에 따라 다릅니다. MySQL 성능 블로그의 한 종합 분석에 따르면
결국 , 이상적인 접근 방식은 특정 상황 및 애플리케이션 요구 사항에 따라 다릅니다. 성능 블로그 게시물에 언급된 바와 같이 "지수 및 기타 요인에 따라 다릅니다."
위 내용은 SQL_CALC_FOUND_ROWS와 SELECT COUNT(*): 페이지 매김 속도가 더 빠른 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!