目次
mysql_query を使用して非常に大きな結果セットをクエリする場合、PHP のメモリ不足の問題を解決するにはどうすればよいですか? phpmysql_query
ホームページ バックエンド開発 PHPチュートリアル mysql_query を使用して PHP で非常に大きな結果セットをクエリする場合のメモリ過剰問題を解決する方法、phpmysql_query_PHP チュートリアル

mysql_query を使用して PHP で非常に大きな結果セットをクエリする場合のメモリ過剰問題を解決する方法、phpmysql_query_PHP チュートリアル

Jul 12, 2016 am 08:57 AM
mysql php query 結果セット

mysql_query を使用して非常に大きな結果セットをクエリする場合、PHP のメモリ不足の問題を解決するにはどうすればよいですか? phpmysql_query

mysql_query を使用して非常に大きな結果セットをクエリする場合、メモリ制限を超えるという致命的なエラーが発生します。 mysql_query はすべての結果をクエリに使用し、その結果セット全体がメモリにキャッシュされるためです。

Mysql クエリには、mysql_unbuffered_query という別のクエリ メソッドも用意されています。この関数は、結果を見つけた直後に結果セットを使用するため、メモリ超過の発生を回避します。ただし、このメソッドを使用すると、クエリ時に結果が返されるため、クエリ時に本社を取得するなどのメソッドが使用できないというデメリットがあります。同時に、この方法を使用する場合、同じデータベース リンク上で他の操作を実行することはできません。他の操作を実行する場合は、まず現在の操作を終了するか、キャッシュされていない SQL クエリによって生成されたすべての結果行を解放するか、再インスタンス化する必要があります。データベースに接続し、他のアクションに新しいリンクを使用します。

以下は、キャッシュを使用する場合とキャッシュを使用しない場合の比較です (クエリされたテーブルには 1,000 万行を超えるデータがあります)。
リーリー

上記で使用した方法では、すべての結果セットをキャッシュします。この関数を実行すると、以下に示すようにメモリ不足エラーが報告されます。


致命的なエラー: E:ProgramDevelopmentRuntimeEnvironmentxampphtdocstesttest.php の 57 行目で、134217728 バイトの許容サイズのメモリが使い果たされました (204800000 バイトを割り当てようとしました)。

コールスタック:

0.0005 135392 1. {main}() E:ProgramDevelopmentRuntimeEnvironmentxampphtdocstesttest.php:0
0.0005 135568 2.test->selecttest() E:ProgramDevelopmentRuntimeEnvironmentxampphtdocstesttest.php:86

0.0055 142528 3. PDOStatement->execute() E:ProgramDevelopmentRuntimeEnvironmentxampphtdocstesttest.php:57


$sth->execute();;
の実行中にメモリ制限を超えました

// $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); からコメントを削除した後、この関数を実行すると、結果セットは次の内容を出力します。

初期メモリサイズ: 144808

リーリー
占有メモリサイズ: 145544

リーリー

占有メモリサイズ: 145544

リーリー

占有メモリサイズ: 145536

リーリー

占有メモリサイズ: 145536

リーリー

占有メモリサイズ: 145536

ご覧のとおり、結果セットをキャッシュせずに結果の行を取得することで占有されるメモリは非常に小さくなります。これにより、メモリ制限を超える問題が解決されます。

興味があるかもしれない記事:

PHP+Mysql+jQuery は Weibo プログラムを公開するための jQuery を実装します

PHP+Mysql+jQuery は情報の動的な表示を実装します
  • jQuery は PHP+MySQL を組み合わせて二次リンク ドロップダウン リストを実装します [例】
  • PHPのmysql_query実行タイムアウトの解決(致命的エラー:最大実行時間…)
  • PHPのmysqli_queryパラメータMYSQLI_STORE_RESULTとMYSQLI_USE_RESULTの違い
  • PHP+jQuery+MySqlに基づいた赤と青(親指)の投票コードの実装
  • jQuery+Ajax+PHP+Mysqlによるページング表示データの実装例解説
http://www.bkjia.com/PHPjc/1110092.html

www.bkjia.com

http://www.bkjia.com/PHPjc/1110092.html技術記事 PHP が mysql_query を使用して非常に大きな結果セットをクエリする場合のメモリ不足の問題を解決する方法 phpmysql_query が非常に大きな結果セットをクエリする場合、メモリ制限を超える致命的なエラーが発生します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPの未来:適応と革新 PHPの未来:適応と革新 Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQLおよびSQL:開発者にとって不可欠なスキル MySQLおよびSQL:開発者にとって不可欠なスキル Apr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

PHP:それは死にかけていますか、それとも単に適応していますか? PHP:それは死にかけていますか、それとも単に適応していますか? Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

phpmyAdmin接続mysql phpmyAdmin接続mysql Apr 10, 2025 pm 10:57 PM

phpmyadminを使用してmysqlに接続する方法は? phpmyadminにアクセスするためのURLは、通常、http:// localhost/phpmyadminまたはhttp:// [サーバーIPアドレス]/phpMyAdminです。 MySQLユーザー名とパスワードを入力します。接続するデータベースを選択します。 [接続]ボタンをクリックして、接続を確立します。

SQLデータベースエラーを表示する方法 SQLデータベースエラーを表示する方法 Apr 10, 2025 pm 12:09 PM

SQLデータベースエラーを表示する方法は次のとおりです。1。エラーメッセージを直接表示します。 2。エラーを表示し、警告コマンドを表示します。 3.エラーログにアクセスします。 4.エラーコードを使用して、エラーの原因を見つけます。 5.データベース接続とクエリ構文を確認します。 6.デバッグツールを使用します。

See all articles