PDO를 사용한 행 수: 최적화된 솔루션
PHP에서 PDO를 사용하여 행 수를 검색할 때 최적의 접근 방식을 고려하는 것이 중요합니다. 귀하의 요구 사항에. 단순함을 위해 fetchAll()을 사용하고 싶은 유혹이 있을 수 있지만 대규모 데이터세트에는 비효율적일 수 있습니다.
행 개수에만 해당
행 개수가 필요한 경우 하지만 데이터 자체가 아닌 경우 다음과 같은 쿼리를 사용하는 것이 좋습니다.
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
이 접근 방식은 데이터베이스에 내장된 계산 기능을 사용하여 다음을 수행합니다. 불필요한 데이터 검색 없이 정확한 행 수를 제공합니다.
데이터가 포함된 행 수의 경우
행 수와 데이터가 모두 필요한 경우 PDO는 PDOStatement::rowCount( ). 그러나 이 방법은 모든 드라이버에 적용되지 않을 수 있습니다. PDO 문서에 따르면:
"대부분의 데이터베이스에서 PDOStatement::rowCount()는 SELECT 문의 영향을 받은 행 수를 반환하지 않습니다. 대신 PDO::query()를 사용하여 SELECT COUNT를 실행하세요. (*) 의도한 SELECT 문과 동일한 조건자를 사용하여 문을 만든 다음 PDOStatement::fetchColumn()을 사용하여 가져올 행 수를 검색합니다. 반환되었습니다."
이러한 경우 fetchAll()을 사용하여 데이터를 검색한 다음 count()를 사용하여 행 수를 확인할 수 있습니다.
예: query() 사용 행 개수
변수가 없는 쿼리의 경우 prepare 대신 query()를 사용할 수 있습니다. 명령문:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
이러한 최적화 기술을 이해하면 다양한 시나리오에서 PDO를 사용하여 행 수를 효과적으로 검색할 수 있습니다.
위 내용은 PHP에서 PDO를 사용하여 행 개수 검색을 최적화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!