페이지 매김("LIMIT" 절)이 포함된 복잡한 MySQL 쿼리를 실행할 때 총 행 수를 얻는 것이 어려울 수 있습니다. 총 개수에 대해 LIMIT 절을 사용하지 않고 쿼리를 두 번 실행하는 것은 비효율적일 수 있습니다.
다행히 MySQL에서는 LIMIT 절을 사용하면서도 총 행 개수를 계산할 수 있는 SQL_CALC_FOUND_ROWS 옵션을 도입했습니다. 작동 방식은 다음과 같습니다.
쿼리 예시:
<code class="sql">-- Main query with SQL_CALC_FOUND_ROWS SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE 'a%' LIMIT 10; -- Second query to get row count SELECT FOUND_ROWS();</code>
제한사항 및 대안:
SQL_CALC_FOUND_ROWS는 편리한 솔루션을 제공하지만 MySQL 8.0.17에서는 더 이상 사용되지 않습니다. 대부분의 경우 쿼리를 두 번 실행하는 것이 더 빠릅니다.
대안으로 MySQL 8.0에서는 행 수를 가져오기 위해 다음과 같은 최적화된 옵션을 도입합니다.
이러한 기술을 활용하여 개발자는 속도 저하 없이 페이지를 매긴 MySQL 쿼리에서 전체 행 수를 효율적으로 검색할 수 있습니다. 공연.
위 내용은 SQL_CALC_FOUND_ROWS를 사용하여 페이지를 매긴 MySQL 쿼리에서 효율적으로 행 수를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!