mysql ワークベンチのプリペアド ステートメントをカーソルで使用しようとしています。カーソルは非常に大きなデータ セットに対して機能するため、何度も実行されます。EXECUTE ステップの新しい結果が表示されるたびに。これにより、開いている結果ウィンドウが多すぎるため、最終的に mysql ワークベンチがクラッシュします。
カーソルでは、次のようなことを行います。
PREPARE stmt2 FROM @eveningQuery;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;
通常、私は次のようなものを使用します
set aVar = (EXECUTE stmt2);
クエリを沈黙させますが、EXECUTEはそのようには機能しません。
mysql で EXECUTE コマンドの出力を無効にする方法を知っている人はいますか?
注:変数のデータを取得する方法は理解していますが、防止したいのは、このように結果の概要に表示されることです
これにより、ループが多すぎると mysql-workbench がクラッシュします。
@eveningQuery の例を聞かれたので編集。
SET @eveningQuery = CONCAT('select @resultNm := exists (idSplitBill =', idSplitBillVar, ' and ', @columnNameEv ,' = 1 and softdelete = 0)');
idSplitBillVar = カーソルからの ID。@columnNameEv = 可変的に入力している列。
質問されたのでこの情報を追加しましたが、最も単純なクエリでも質問が残っているため、私の意見では問題ではありません。準備されたステートメントを実行すると、出力結果が得られます。この動作を無効にしたいだけです。