問題タブ [unbuffered-queries]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
685 参照

mysql - Laravel 4.2はメインデータベースへの2番目のデータベース接続を開きます

私のlaravelアプリケーション用のデータベースは1つありますが、次の理由により、Laravelで2つの接続を開く必要があります。

私はこのコードを持っています:

結果セット全体をメモリに準備するのに十分なメモリがないため、バッファリングされていないクエリを使用しています。ここでは何百万行も話しています。しかし、処理された行数を追跡する必要があるため、10K 行が処理されるたびにステータス テーブルに書き戻す関数を用意しています。問題は、バッファリングされていないクエリの実行中に、完了するまで MYSQL に書き戻すことができないことです。

したがって、私がする必要があるのは、上記のこのバッファリングされていないクエリを新しい接続で実行することですが、アプリケーションが使用しているのと同じデータベースに対して実行することです。

それで、それは可能ですか?既存の接続を閉じずに、Laravel でアプリケーションが既に使用している同じデータベースに新しい接続をスピンアップするにはどうすればよいですか?

0 投票する
1 に答える
252 参照

php - PDO 一般エラー: 2014 テーブルをロックしようとすると、他のバッファリングされていないクエリがアクティブな間、クエリを実行できません

私は誰かの古い古いコードを使用から使用に更新mysql()してPDOいます。ある場所にはLOCK TABLES、2 人のユーザーが同時に同じデータにアクセスするのを防ぐコマンドがいくつかあります。を実行するLOCK TABLESと、PDO「一般エラー: 2014 他のバッファリングされていないクエリがアクティブな間はクエリを実行できません」がスローされます。

他の変数を排除するためにいくつかのテスト コードを作成しました。システムは Ubuntu 18 / PHP 7.2 / MySQL 5.7.27 で実行されます。

$_DB->beginTransactionの前後にLOCK TABLESを追加しようとしまし$_DB->commitUNLOCK TABLESが、それでも同じエラーが発生します。

ATTR_EMULATE_PREPARESと のさまざまな組み合わせを試しMYSQL_ATTR_USE_BUFFERED_QUERYましたが、違いはないようです。

0 投票する
0 に答える
34 参照

php - バッファリングされていない SELECT を実行し、その間に別の INSERT を実行するにはどうすればよいですか? (Php、MYSQLI_USE_RESULT、コマンドが同期していません。現在、このコマンドを実行することはできません)

マスター テーブルからレコードをフィルター処理して追加する必要があります。このテーブルには数百万のレコードがあります。最初に私が試していた:

今私が直面した最初の問題は、メモリオーバーフローが発生したことです。(はい、私は以前、通常、Php はすべてのレコードを取得するのではなく、1 つずつ取得すると信じていました。したがって、1 つのレコードが前のレコードを消去するため、メモリ使用量は最小限ですが、人は常に何か新しいことを毎日学習します)。便利なフラグ ( MYSQLI_USE_RESULT ) を見つけたので、次のようにします。

しかし、今回は悲惨なエラーが発生します: Commands out of sync; you can't run this command now. 今のところ、それをどうするかは想像できません。マスターのレコードを $array に収集しても、メモリ オーバーフローが発生します。SELECT FROM でフェッチしているときに INSERT INTO を実行することが許可されていないなんて信じられません。なぜ 2 つの衝突が起こるのかわかりません。意味がありません。