오프셋 및 제한을 사용하여 MySQL의 총 결과 수 결정
페이지 매김은 웹 개발의 중요한 측면으로, 대규모 데이터 세트를 효율적으로 표시할 수 있습니다. 여러 페이지에 걸쳐. MySQL 쿼리에서 오프셋과 제한을 사용할 때 필요한 페이지 매김을 계산하기 위해 총 결과 수를 결정하는 것이 중요합니다.
한 가지 접근 방식은 쿼리를 두 번 실행하는 것입니다. 한 번은 제한을 사용하여 표시할 결과를 검색하고, 그리고 다시 총 행 수를 계산하는 데 제한이 없습니다. 그러나 이 방법은 비효율적이며 데이터베이스 리소스에 부담을 줄 수 있습니다.
더 효율적인 솔루션은 SQL_CALC_FOUND_ROWS 키워드를 활용하는 것입니다. 이 키워드는 제한 없이 반환될 총 행 수를 계산하도록 MySQL에 알립니다. 그런 다음 FOUND_ROWS() 함수를 사용하여 총 개수를 검색할 수 있습니다.
예를 들어 다음 쿼리를 고려해 보세요.
SELECT * FROM table_name ORDER BY id LIMIT 10 OFFSET 20;
총 행 개수를 확인하려면 시작 부분에 SQL_CALC_FOUND_ROWS를 추가하세요. 쿼리:
SELECT SQL_CALC_FOUND_ROWS * FROM table_name ORDER BY id LIMIT 10 OFFSET 20;
이 쿼리를 실행한 후 FOUND_ROWS()를 사용하여 총 개수를 검색합니다.
$total_results = $this->db->query('SELECT FOUND_ROWS()')->row()->{'FOUND_ROWS()'};
이 접근 방식은 총 결과 수를 결정하는 효율적인 수단을 제공합니다. 별도의 문의가 필요 없이. 계산 리소스를 절약하고 특히 대규모 데이터 세트의 경우 최적의 데이터베이스 성능을 보장합니다.
위 내용은 페이지 매김 중 오프셋 및 제한을 사용하여 MySQL의 총 결과 수를 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!