MySQL サーバーは、構成方法を示す多くのシステム変数を保持します (セクション5.1.8「サーバーシステム変数」 を参照)。 システム変数情報は、次の「パフォーマンススキーマ」テーブルで使用できます:
global_variables
: グローバルシステム変数。 グローバル値のみが必要なアプリケーションでは、このテーブルを使用する必要があります。session_variables
: 現在のセッションのシステム変数。 独自のセッションのすべてのシステム変数値を必要とするアプリケーションでは、このテーブルを使用する必要があります。 これには、セッションのセッション変数と、対応するセッションがないグローバル変数の値が含まれます。variables_by_thread
: 各アクティブセッションのセッションシステム変数。 特定のセッションのセッション変数値を知るアプリケーションでは、このテーブルを使用する必要があります。 これには、スレッド ID で識別されるセッション変数のみが含まれます。persisted_variables
: 永続化されたグローバルシステム変数設定を格納するmysqld-auto.cnf
ファイルへの SQL インタフェースを提供します。 セクション27.12.14.1「パフォーマンススキーマ persisted_variables テーブル」を参照してください。variables_info
: システム変数ごとに、最後に設定されたソースとその値の範囲を示します。 セクション27.12.14.2「パフォーマンススキーマ variables_info テーブル」を参照してください。
セッション変数テーブル (session_variables
、variables_by_thread
) には、アクティブセッションの情報のみが含まれ、終了したセッションは含まれません。
global_variables
テーブルと session_variables
テーブルには、次のカラムがあります:
-
VARIABLE_NAME
システム変数名。
-
VARIABLE_VALUE
システム変数の値。
global_variables
の場合、このカラムにはグローバル値が含まれます。session_variables
の場合、このカラムには現在のセッションで有効な変数値が含まれます。
global_variables
テーブルと session_variables
テーブルには、次のインデックスがあります:
主キー (
VARIABLE_NAME
)
variables_by_thread
テーブルには、次のカラムがあります:
-
THREAD_ID
システム変数が定義されているセッションのスレッド識別子。
-
VARIABLE_NAME
システム変数名。
-
VARIABLE_VALUE
THREAD_ID
カラムで指定されたセッションのセッション変数値。
variables_by_thread
テーブルには次のインデックスがあります:
主キー (
THREAD_ID
、VARIABLE_NAME
)
variables_by_thread
テーブルには、フォアグラウンドスレッドに関するシステム変数情報のみが含まれます。 すべてのスレッドがパフォーマンススキーマによって計測されるわけではない場合、このテーブルにはいくつかの行がありません。 この場合、Performance_schema_thread_instances_lost
ステータス変数はゼロより大きくなります。
TRUNCATE TABLE
は、パフォーマンススキーマシステム変数テーブルではサポートされていません。