mysqli_query
が実行された場合、PHPはデータベース(MySQL)から問題となる結果セット(mysqli_resultクラス)を受け取ります。mysqli_resultクラス実際にフェッチされたデータはどこに存在しますか?
このmysqli_resultクラスは、実際のデータをそのプロパティのデータベースから持ちますか?ただ、結果出る不思議
...
mysqli_query
が実行された場合、PHPはデータベース(MySQL)から問題となる結果セット(mysqli_resultクラス)を受け取ります。mysqli_resultクラス実際にフェッチされたデータはどこに存在しますか?
このmysqli_resultクラスは、実際のデータをそのプロパティのデータベースから持ちますか?ただ、結果出る不思議
...
このmysqli_resultクラスは、そのプロパティでデータベースから実際のデータを運ぶのか?
号
それだけmysqli_result::fetch_*
方法の結果としての呼び出しを介して、直接アクセスできない内部結果セットへのリンクのみを運びます。
結果は内部的にMysqliモジュールによって割り当てられたメモリに存在します。それはまだPHP側にありますが、直接アクセスできないですが、it is occupying the memory available for PHP script(これはPDOに関する私の記事ですが、mysqliにも当てはまります)。
唯一の例外はunbuffered queryです。このようなクエリの場合、PHP側には結果セットは格納されず、結果はDBから直接フェッチされます。
「内部結果セット」は、メモリまたは物理ファイルのどこかに存在しますか? – norixxx
説明を追加しました –
ニース!クエリがデフォルトでバッファモードとして実行されているかどうかはわかりませんでした。だから私が大きな結果を期待していた時、私はバッファリングされていないモードを使用するはずですか? – norixxx