>데이터 베이스 >MySQL 튜토리얼 >PHP에서 PDO를 사용하여 행 수를 계산하는 가장 효율적인 방법은 무엇입니까?

PHP에서 PDO를 사용하여 행 수를 계산하는 가장 효율적인 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-24 08:59:14131검색

What's the Most Efficient Way to Count Rows Using PDO in PHP?

PDO를 사용한 행 계산

배경

PHP에서 PDO를 사용하여 행 수를 검색하는 최적의 방법을 결정하는 것은 여전히 ​​논쟁의 주제입니다. 이 기사에서는 대체 접근 방식을 살펴보고 효율적인 솔루션을 찾는 프로그래머에게 지침을 제공합니다.

데이터베이스 중심 접근 방식

실제 데이터에 액세스할 필요가 없는 시나리오의 경우 데이터베이스 중심 접근 방식이 권장됩니다. 이 방법을 사용하면 데이터베이스는 행 개수를 계산하여 숫자 값만 반환합니다. 다음 코드는 이 접근 방식을 예시합니다.

$sql = "SELECT count(*) FROM `table` WHERE foo = ?";
$result = $con->prepare($sql);
$result->execute([$bar]);
$number_of_rows = $result->fetchColumn();

또는 PDStatement::rowCount()를 사용하여 데이터 자체도 검색할 때 행 수를 얻을 수 있습니다. 이 방법은 MySQL의 버퍼링된 쿼리(기본적으로 활성화됨)에서 효과적으로 작동합니다.

PDO 중심 접근 방식

그러나 다른 데이터베이스에서는 PDStatement::rowCount()에만 의존하는 것이 보장되지 않습니다. PDO 문서에 따르면:

"대부분의 데이터베이스에서 PDOStatement::rowCount()는 SELECT 문의 영향을 받은 행 수를 반환하지 않습니다."

이 제한을 극복하기 위해 문서는 PDO::query()를 사용하여 SELECT COUNT(*) 문을 실행한 다음 PDStatement::fetchColumn()을 사용하여 원하는 항목을 검색하는 것이 좋습니다. value.

마지막으로 변수 자리 표시자가 없는 간단한 쿼리의 경우 PDO::query()를 직접 사용할 수 있습니다.

$nRows = $pdo->query('select count(*) from blah')->fetchColumn();
echo $nRows;

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.