この記事では、phpでのmysql操作バッファの使い方について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
php を mysql に接続するには、mysql、mysqli、pdo の 3 つの方法があります。どの方法で接続する場合でも、バッファを使用する場合と使用しない場合には違いがあります。
バッファを使用する、およびバッファを使用しないとはどういう意味ですか?
クライアントは mysql サーバーでクエリ操作を実行します。クエリ操作中に取得したデータの量が比較的大きい場合、クエリ結果はどこに配置されるべきですか?
それを置く場所は 2 つあります: クライアントのバッファーとサーバーのバッファーです。
ここで話しているバッファは、クエリ結果がサーバーから取得され、クライアントのバッファに配置されている場合、そのバッファを使用して呼び出します。サーバー側のバッファにまだ格納されている場合、バッファが使用されていない(アンバッファ)と言います。
バッファを使用する場合と使用しない場合の違いは何ですか?
主にメモリの点で、バッファを使用するとクライアントのメモリ負荷が増加します。返されるデータ結果が特に大きい場合、クライアントを呼び出す比較的大きなプロセス (実際には PHP プロセス) を占有する可能性があります。バッファを使用しないと、当然サーバーへの負荷が高くなります (ここでは、mysql サービスを提供するサーバーについて話しています)。
詳細については、MySQL 大量データをクエリする PHP のメモリ使用量分析を参照してください
PHPの3つのモードでバッファを使用するかどうかを設定するにはどうすればよいですか?
Mysql のデフォルトのクエリはバッファを使用します。バッファを使用しない場合は、mysql_unbuffer_query を使用する必要があります
mysqliのデフォルトクエリはバッファを使用しません。バッファを使用するには、MYSQLI_STORE_RESULTを設定する必要があります。
PDO のデフォルトのクエリはバッファを使用しません。バッファを使用するには、MYSQL_ATTR_USE_BUFFERED_QUERY を設定する必要があります。関連するコードはおおよそ次のとおりです:
リーリー フォローアップもちろん、データの量が非常に大きい場合、ほとんどの人はバッチを使用してデータを抽出して処理することを検討します。したがって、実際にバッファを使用するかどうかに注意を払って mysql を使用する必要があるシナリオはほとんどありません。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/970854.html