ホームページ >バックエンド開発 >PHPチュートリアル >PHP で PDO を使用して正確な行数を取得する最も効率的な方法は何ですか?
PHP の PDO を使用した正確な行数
データベース クエリの行数を決定することは、多くのアプリケーションにとって重要です。 PDO (PHP データ オブジェクト) の導入により、行数を取得するための最適なアプローチに関していくつかの矛盾が生じています。最も効率的なメソッドを見てみましょう。
大規模なデータセットでの fetchAll() の回避
fetchAll() はクエリからすべての結果を取得する便利なメソッドですが、そうではありません。メモリ使用量が懸念される大規模なデータセットに最適です。行数のみが必要な場合は、別のアプローチが推奨されます。
データなしの行数の取得
実際のデータが必要ない場合は、次のアプローチをお勧めします。 :
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
このクエリは、データ自体を取得せずに行数を直接取得し、保存します。 Memory.
PDOStatement::rowCount()
フェッチされたデータとともに行数を取得するために、PDO は PDOStatement::rowCount() を提供します。 MySQL では、このメソッドはデフォルトで有効になっているバッファされたクエリで効果的に機能します。ただし、その信頼性は他のデータベース ドライバーでは保証されません。
PDO::query() の使用
クエリに変数が含まれていない場合は、より簡潔なアプローチ準備されたステートメントの代わりに PDO::query() を使用することです:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
このメソッドでは、別の $result 変数を追加し、コードを簡素化します。
以上がPHP で PDO を使用して正確な行数を取得する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。