


mysql_query を使用して PHP で非常に大きな結果セットをクエリする場合のメモリ過剰問題を解決する方法、phpmysql_query_PHP チュートリアル
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
$sth->execute();;
の実行中にメモリ制限を超えました
// $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); からコメントを削除した後、この関数を実行すると、結果セットは次の内容を出力します。
リーリー
占有メモリサイズ: 145544
占有メモリサイズ: 145544
リーリー占有メモリサイズ: 145536
リーリー占有メモリサイズ: 145536
リーリー占有メモリサイズ: 145536
ご覧のとおり、結果セットをキャッシュせずに結果の行を取得することで占有されるメモリは非常に小さくなります。これにより、メモリ制限を超える問題が解決されます。
興味があるかもしれない記事:
- jQuery は PHP+MySQL を組み合わせて二次リンク ドロップダウン リストを実装します [例】
- PHPのmysql_query実行タイムアウトの解決(致命的エラー:最大実行時間…)
- PHPのmysqli_queryパラメータMYSQLI_STORE_RESULTとMYSQLI_USE_RESULTの違い
- PHP+jQuery+MySqlに基づいた赤と青(親指)の投票コードの実装
- jQuery+Ajax+PHP+Mysqlによるページング表示データの実装例解説
www.bkjia.com

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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