のでfetchAll
は配列を返しますが、fetch
は1つの結果だけが返されます:私の質問は、私はテーブルの上に多くの行を持っている場合は使用している場合、それはまた私のクエリでLIMIT 1
を含めるように速くなり、あるPHP PDO - フェッチを使用するときに、クエリの一部としてLIMIT 1が必要ですか?
fetch(PDO::FETCH_ASSOC);
をfetch
、それとも全く必要なのですか?
のでfetchAll
は配列を返しますが、fetch
は1つの結果だけが返されます:私の質問は、私はテーブルの上に多くの行を持っている場合は使用している場合、それはまた私のクエリでLIMIT 1
を含めるように速くなり、あるPHP PDO - フェッチを使用するときに、クエリの一部としてLIMIT 1が必要ですか?
fetch(PDO::FETCH_ASSOC);
をfetch
、それとも全く必要なのですか?
1行しか取得しない場合は、LIMIT 1
を使用することをお勧めします。これにより、最初の結果が見つかると直ちに照会の処理を停止できるため、データベースの負荷が軽減されます。また、サーバーが最初の結果を返すだけで済むため、ネットワーク経由でのトラフィックが少なくなります。これがなければ、サーバーはPDOライブラリーでバッファーに入れられるが、アプリケーションでは決して使用されない多くの結果を送信します。
ありがとうございます。それはとても役に立ちます。 – JROB
必須ではありませんが、一般的に応答が速くなります。データベースは、結果セット全体を計算/収集する必要はなく、限界がわかっていれば多くの最適化を行うことができます。
これは本当にシンプルですが、面白くて有効な質問です。なぜそれが投票されたのか分からない。 –