집 >데이터 베이스 >MySQL 튜토리얼 >페이지를 매긴 SQL 쿼리에서 총 행 수를 효율적으로 결정하는 방법은 무엇입니까?
페이지 매김을 통한 총 행 수 결정
SQL 쿼리에서 페이지 매김을 구현할 때 총 행 수를 정확하게 결정하는 것이 중요할 수 있습니다. 쿼리를 두 번 실행합니다. 한 번은 행 수를 계산하기 위해 LIMIT 절 없이 실행하고 한 번은 페이지가 매겨진 데이터를 검색하기 위해 LIMIT 절을 사용하여 실행하는 것은 최적이 아닐 수 있습니다. 특히 복잡한 쿼리의 경우 더욱 그렇습니다.
다행히도 MySQL은 다음과 같은 우아한 솔루션을 제공합니다. SQL_CALC_FOUND_ROWS 및 FOUND_ROWS() 구문. 기본 쿼리에 SQL_CALC_FOUND_ROWS를 추가하면 MySQL은 LIMIT 절이 있는 경우에도 총 행 수를 계산합니다. FOUND_ROWS()를 사용하는 후속 쿼리는 이 개수를 검색합니다.
예는 다음과 같습니다.
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; SELECT FOUND_ROWS();
이 접근 방식은 쿼리를 두 번 실행하는 것보다 빠르며 정확한 총 개수를 제공합니다.
MySQL 8에서 더 이상 사용되지 않는 함수
MySQL 8.0.17에서는 SQL_CALC_FOUND_ROWS 및 FOUND_ROWS()가 더 이상 사용되지 않습니다. 최신 MySQL 버전의 경우 COUNT를 대신 사용하는 것이 좋습니다.
SELECT * FROM tbl_name WHERE id > 100 LIMIT 10; SELECT COUNT(*) WHERE id > 100;
이러한 기술을 활용하면 개발자는 여러 쿼리로 인한 오버헤드 없이 페이지를 매긴 SQL 쿼리의 행을 정확하게 계산할 수 있습니다.
위 내용은 페이지를 매긴 SQL 쿼리에서 총 행 수를 효율적으로 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!