PDO::rowCount() と COUNT(*) のインデックスありとインデックスなしのどちらがパフォーマンスが高いでしょうか?

Barbara Streisand
リリース: 2024-10-24 07:14:02
オリジナル
353 人が閲覧しました

Which is More Performant: PDO::rowCount() or COUNT(*) With or Without an Index?

PDO::rowCount と COUNT(*) のパフォーマンスの比較

質問:

行数チェックを伴う SELECT クエリでは、PDO::rowCount() を使用するのと、クエリに COUNT(*) を含めるのとでは、どちらのパフォーマンスが向上しますか?さらに、ID フィールドにインデックスが設定されている場合、どのオプションがより効率的ですか?

答え:

最初の質問: Count(*) と PDO ::rowCount()

内部的には、MySQL の COUNT() はカウント結果のみを保存するために最小限のメモリを割り当てますが、PHP は PDO::rowCount() で結果セット全体を処理し、すべての結果セットにメモリを割り当てます。取得した結果。したがって、MySQL では COUNT() の方が高速です。

2 番目の質問: インデックス

COUNT() を使用した COUNT(id) と COUNT(*) は次のとおりです。 id フィールドにインデックスが設定されている場合でも、COUNT(id) よりも優先されます。これは、COUNT() は値を迅速にカウントするように最適化されており、すべての行をフェッチする必要性が減りますが、COUNT(id) は各行にアクセスする必要があり、パフォーマンスが低下する可能性があるためです。

以上がPDO::rowCount() と COUNT(*) のインデックスありとインデックスなしのどちらがパフォーマンスが高いでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!