PHP mysql_unbuffered_query() 関数
定義と用法
mysql_unbuffered_query() 関数は MySQL に SQL 検索(結果を取得/キャッシュしない)を送信します。
文法
mysql_unbuffered_query(query,接続)
パラメータ | 説明 |
---|---|
query | 必須です。送信する SQL 検索を指定します。注:クエリ文字列はセミコロンで終わらないべきです。 |
接続 | 任意です。SQL 接続識別子を指定します。指定しない場合、最後に開いた接続が使用されます。 |
説明
mysql_unbuffered_query() は MySQL に SQL 検索 query を送信しますが、像 mysql_query() 自動的に結果セットを取得およびキャッシュします。一方で、これは大きな結果セットを処理する場合に、かなりのメモリを節約します。もう一方で、最初の行を取得した後、すぐに結果セットに対して操作を行うことができますが、SQLステートメントが完全に実行されるまで待つ必要はありません。
複数のデータベース接続を使用する場合、オプションの引数を指定する必要があります。 接続。
ヒントおよびコメント
注記:mysql_unbuffered_query()の利点には代償があります:mysql_unbuffered_query()が返す結果セットの上では、 mysql_num_rows() および mysql_data_seek()。さらに、MySQLに新しいSQLクエリを送信する前に、すべての未キャッシュのSQLクエリが生成する結果行を抽出する必要があります。
例
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die('接続できません: ' . mysql_error()); } // 大規模クエリ $sql = "SELECT * FROM Person"; mysql_unbuffered_query($sql,$con); // データ処理開始... mysql_close($con); ?>