MySQL 8.0 リファレンスマニュアル


28.4.4.14 ps_setup_save() プロシージャ

現在のパフォーマンススキーマ構成を保存します。 これにより、デバッグまたはその他の目的で構成を一時的に変更し、ps_setup_reload_saved() プロシージャを起動して以前の状態にリストアできます。

構成を保存するための他の同時コールを防止するために、ps_setup_save() では、GET_LOCK() 関数をコールして sys.ps_setup_save という名前のアドバイザロックを取得します。ps_setup_save() はタイムアウトパラメータを使用して、ロックがすでに存在する場合に待機する秒数を示します (他のセッションに未処理の構成が保存されていることを示します)。 ロックを取得せずにタイムアウトが期限切れになると、ps_setup_save() は失敗します。

構成は TEMPORARY テーブルに保存されるため、後で same セッション内で ps_setup_save() として ps_setup_reload_saved() をコールすることを目的としています。ps_setup_save() によって一時テーブルが削除され、ロックが解除されます。 ps_setup_save() を起動せずにセッションを終了すると、テーブルおよびロックが自動的に消えます。

このプロシージャは、sql_log_bin システム変数のセッション値を操作して、実行中にバイナリロギングを無効にします。 これは制限付き操作であるため、このプロシージャには制限付きセッション変数を設定するのに十分な権限が必要です。 セクション5.1.9.1「システム変数権限」を参照してください。

パラメータ
  • in_timeout INT: sys.ps_setup_save ロックの取得を待機する秒数。 負の timeout 値は、無限のタイムアウトを表します。

mysql> CALL sys.ps_setup_save(10);

... make Performance Schema configuration changes ...

mysql> CALL sys.ps_setup_reload_saved();

関連キーワード:  プロシージャ, setup, 関数, summary, sys, latency, user, schema, host, file