PHP의 PDO SELECT 문의 행 수를 효율적으로 계산하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-18 08:36:02
원래의
459명이 탐색했습니다.

How to Efficiently Count Rows from a PDO SELECT Statement in PHP?

PHP PDO에서 행 수를 계산하는 방법

PHP에서 데이터베이스에 액세스하기 위한 업계 표준 라이브러리인 PDO에는 계산을 위한 전용 방법이 부족합니다. SELECT 쿼리에서 반환된 행. 일반적인 해결 방법은 count($results->fetchAll())을 활용하는 것이지만 항상 가장 효율적인 접근 방식은 아닙니다.

PDOStatement::rowCount

PDO 문 개체는 rowCount 메서드를 노출합니다. 그러나 공식 PDO 문서에 따르면:

For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action.
로그인 후 복사

Counting Rows with Existing Recordset

이미 데이터를 가져온 경우 다음에서 count 기능을 사용할 수 있습니다. 결과 배열:

$stmt = $db->prepare('SELECT * FROM table');
$stmt->execute();
$rowCount = count($stmt->fetchAll(PDO::FETCH_ASSOC));
로그인 후 복사

또는 객체 지향을 사용할 수도 있습니다. 수동으로 행을 탐색하고 계산합니다.

$rowCount = 0;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $rowCount++;
}
로그인 후 복사

모든 행을 메모리로 가져오는 것은 특히 큰 결과 집합의 경우 애플리케이션 성능에 영향을 미칠 수 있다는 점을 기억하세요. 필요에 따라 페이지 매김 또는 기타 최적화 기술을 고려하십시오.

위 내용은 PHP의 PDO SELECT 문의 행 수를 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿