ホームページ php教程 php手册 PHP の mysqli_query パラメータ MYSQLI_STORE_RESULT と MYSQLI_USE_RESULT の違い

PHP の mysqli_query パラメータ MYSQLI_STORE_RESULT と MYSQLI_USE_RESULT の違い

Sep 22, 2016 am 08:42 AM

この記事では主に、PHP の mysqli_query パラメーター MYSQLI_STORE_RESULT と MYSQLI_USE_RESULT の違いを紹介します。必要な方は参照してください。

nosqlが普及してきましたが、まだまだSQLが主流な気がします

今日php manulを閲覧していたら、mysqliクエリで興味深いパラメータを渡すことができることを発見しました

リーリー
これら 2 つのパラメータは、PHP マニュアルで次のように説明されています。

リーリー
何も渡されない場合、デフォルトは MYSQLI_STORE_RESULT になります。

誰かが phpmanul でこれを言いました: 大量のデータを取得する必要がある場合は、MYSQLI_USE_RESULT を使用します

実際、これら 2 つのパラメータの差は依然として非常に大きいです。

(1) 違いは、サーバーから結果セットの行を取得する点です。

(2) MYSQLI_USE_RESULT はクエリを開始しますが、実際には行をフェッチしません
(3) MYSQLI_STORE_RESULT はすぐにすべての行を取得します
(4) MYSQLI_STORE_RESULT 結果セットがサーバーから取得されると、行が抽出され、それらの行にメモリが割り当てられます, クライアントに保存されているため、mysqli_fetch_array() への以降の呼び出しでは、結果セットを既に保持しているデータ構造から行を削除するだけなので、エラーが返されることはありません。NULL を返す Mysqli_fetch_array() は、常に結果セットの終わりを示します。に達しました。
(5) MYSQLI_USE_RESULT 自体は行を取得せず、行ごとの取得を開始するだけです。つまり、行ごとに mysqli_fetch_array() を呼び出して完了する必要があります。そのため、通常の状況では、mysqli_fetch_array() が NULL を返す場合でも、結果セットの最後に到達したことを示しますが、サーバーとの通信中にエラーが発生したことを示す場合もあります。

概要

MYSQLI_USE_RESULT と比較すると、MYSQLI_STORE_RESULT はより多くのメモリと処理要件を必要とします。結果セット全体がクライアント上で保持されるため、一度に複数の行を取得する場合、メモリ割り当てとデータ構造の作成のコストが非常に大きくなります。 MYSQLI_USE_RESULT を使用できます。

MYSQLI_USE_RESULT は、毎回処理される 1 行に十分なスペースのみが割り当てられるため、メモリ要件が低くなります。結果セット用の複雑なデータ構造を作成する必要がないため、この方が高速です。一方、MYSQLI_USE_RESULT はサーバーに大きな負荷をかけるため、クライアントがすべての行を取得するのに適していると判断されるまで、結果セット内の行を保持する必要があります。

参考文献: http://www.manongjc.com/article/1195.html

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)