LIMIT 조건을 사용하여 총 행 수 검색
페이지 매김을 위해 LIMIT 절이 포함된 SQL 쿼리를 사용하는 경우 총 행 수를 결정하는 방법은 다음과 같습니다. 도전. 표준 접근 방식에는 쿼리를 두 번 실행하는 작업이 포함됩니다. 한 번은 LIMIT 절 없이 행 수를 얻은 다음 다시 LIMIT를 사용하여 페이지가 매겨진 데이터를 검색합니다. 복잡한 쿼리의 경우 이 프로세스에 시간이 많이 걸릴 수 있습니다.
그러나 MySQL 4.0.0에는 더 효율적인 솔루션이 도입되었습니다.
SQL_CALC_FOUND_ROWS 및 FOUND_ROWS() 사용
SQL_CALC_FOUND_ROWS 옵션은 쿼리의 SELECT 문 뒤에 추가할 수 있습니다. 이는 LIMIT 조건을 고려하지 않고 총 행 수를 계산하도록 MySQL에 플래그를 지정합니다. 총 행 수를 검색하려면 FOUND_ROWS() 함수를 사용하는 두 번째 쿼리가 필요합니다.
사용법:
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; SELECT FOUND_ROWS();
참고: SQL_CALC_FOUND_ROWS는 행 개수를 영구적으로 저장하지 않으므로 첫 번째 쿼리 직후에 두 번째 쿼리를 실행하는 것이 중요합니다.
SQL_CALC_FOUND_ROWS 및 FOUND_ROWS() 지원 중단
As 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;
위 내용은 MySQL에서 LIMIT를 사용하여 총 행 수를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!