このページは機械翻訳したものです。
クライアントは、MySQL サーバーに接続すると、特定のユーザー名で特定のホストから接続します。 パフォーマンススキーマは、次のテーブルを使用して、これらの接続に関する統計情報を提供し、アカウント (ユーザーとホストの組み合わせ) ごとに追跡したり、ユーザー名とホスト名ごとに個別に追跡したりします:
- accounts: クライアントアカウントごとの接続統計
- hosts: クライアントホスト名ごとの接続統計
- users: クライアントユーザー名ごとの接続統計
        接続テーブルの 「account」 の意味は、mysql システムデータベースの MySQL 付与テーブルでの意味と似ていますが、この用語はユーザーとホストの値の組合せを意味します。 権限付与テーブルの場合、アカウントのホスト部分はパターンにできますが、「パフォーマンススキーマ」テーブルの場合、ホスト値は常に特定のパターン以外のホスト名になります。 
      
        各接続テーブルには、統計の基になる「「トラッキング値」」当たりの現在の接続数および合計接続数を追跡するための CURRENT_CONNECTIONS カラムと TOTAL_CONNECTIONS カラムがあります。 テーブルは、それらが追跡値に使用するものに違いがあります。 accounts テーブルには、ユーザーとホストの組合せごとに接続を追跡するための USER カラムと HOST カラムがあります。 users テーブルと hosts テーブルには、ユーザー名とホスト名ごとに接続を追跡するための USER カラムと HOST カラムがそれぞれあります。 
      
        パフォーマンススキーマは、NULL の USER および HOST カラム値を持つ行を使用して、認証に失敗したユーザーセッションの内部スレッドとスレッドもカウントします。
      
        user1 と user2 というクライアントがそれぞれ hosta と hostb から一度に接続するとします。 パフォーマンススキーマは次のように接続を追跡します。 
      
- accountsテーブルには、- user1/- hosta、- user1/- hostb、- user2/- hostaおよび- user2/- hostbアカウント値について、各行でアカウントごとに 1 つの接続がカウントされる 4 つの行があります。
- hostsテーブルには 2 つの行があり、- hostaおよび- hostbの場合、各行はホスト名ごとに 2 つの接続をカウントします。
- usersテーブルには 2 つの行があり、- user1および- user2の場合、各行はユーザー名ごとに 2 つの接続をカウントします。
        クライアントが接続すると、パフォーマンススキーマは、各テーブルに適した追跡値を使用して、各接続テーブルのどの行が適用されるかを決定します。 そのような行がない場合、追加されます。 次に、パフォーマンススキーマはその行の CURRENT_CONNECTIONS および TOTAL_CONNECTIONS カラムを 1 つ増分します。 
      
        クライアントが切断すると、パフォーマンススキーマはその行の CURRENT_CONNECTIONS カラムを 1 つ減分し、TOTAL_CONNECTIONS カラムは変更しないままにします。
      
        TRUNCATE TABLE は接続テーブルに対して許可されます。 これには次の効果があります: 
      
- 現在の接続を持たないアカウント、ホストまたはユーザー ( - CURRENT_CONNECTIONS = 0の行) の行は削除されます。
- 削除されていない行はリセットされ、現在の接続のみがカウントされます: - CURRENT_CONNECTIONS > 0の行の場合、- TOTAL_CONNECTIONSは- CURRENT_CONNECTIONSにリセットされます。
- このセクションの後半で説明するように、接続テーブルに依存するサマリーテーブルは暗黙的に切り捨てられます。 
        パフォーマンススキーマは、アカウント、ホスト、またはユーザーごとにさまざまなイベントタイプの接続統計を集約するサマリーテーブルを保持します。 これらのテーブルの名前には、_summary_by_account、_summary_by_host または_summary_by_user が含まれます。 識別するには、次のクエリーを使用します: 
      
mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
       WHERE TABLE_SCHEMA = 'performance_schema'
       AND TABLE_NAME REGEXP '_summary_by_(account|host|user)'
       ORDER BY TABLE_NAME;
+------------------------------------------------------+
| TABLE_NAME                                           |
+------------------------------------------------------+
| events_errors_summary_by_account_by_error            |
| events_errors_summary_by_host_by_error               |
| events_errors_summary_by_user_by_error               |
| events_stages_summary_by_account_by_event_name       |
| events_stages_summary_by_host_by_event_name          |
| events_stages_summary_by_user_by_event_name          |
| events_statements_summary_by_account_by_event_name   |
| events_statements_summary_by_host_by_event_name      |
| events_statements_summary_by_user_by_event_name      |
| events_transactions_summary_by_account_by_event_name |
| events_transactions_summary_by_host_by_event_name    |
| events_transactions_summary_by_user_by_event_name    |
| events_waits_summary_by_account_by_event_name        |
| events_waits_summary_by_host_by_event_name           |
| events_waits_summary_by_user_by_event_name           |
| memory_summary_by_account_by_event_name              |
| memory_summary_by_host_by_event_name                 |
| memory_summary_by_user_by_event_name                 |
+------------------------------------------------------+個々の接続サマリーテーブルの詳細は、サマリーが作成されたイベントタイプのテーブルについて説明しているセクションを参照してください:
- 待機イベントのサマリー: セクション27.12.18.1「待機イベント要約テーブル」 
- ステージイベントサマリー: セクション27.12.18.2「ステージサマリーテーブル」 
- ステートメントイベントサマリー: セクション27.12.18.3「ステートメントサマリーテーブル」 
- トランザクションイベントサマリー: セクション27.12.18.5「トランザクション要約テーブル」 
- メモリーイベントサマリー: セクション27.12.18.10「メモリーサマリーテーブル」 
- エラーイベントサマリー: セクション27.12.18.11「エラー要約テーブル」 
        TRUNCATE TABLE は接続サマリーテーブルに使用できます。 接続のないアカウント、ホストまたはユーザーの行を削除し、残りの行のサマリーカラムをゼロにリセットします。 また、アカウント、ホスト、ユーザーまたはスレッド別に集計された各サマリーテーブルは、依存する接続テーブルの切捨てによって暗黙的に切り捨てられます。 次のテーブルに、接続テーブルの切捨てと暗黙的に切り捨てられたテーブルの関係を示します。 
      
表 27.2 接続テーブルの切捨ての暗黙的な影響
| 切り捨てられた接続テーブル | 暗黙的に切り捨てられたサマリーテーブル | 
|---|---|
| accounts | _summary_by_account、_summary_by_threadを含む名前を持つテーブル | 
| hosts | _summary_by_account,_summary_by_host,_summary_by_threadを含む名前を持つテーブル | 
| users | _summary_by_account,_summary_by_user,_summary_by_threadを含む名前を持つテーブル | 
        _summary_global サマリーテーブルを切り捨てると、対応する接続およびスレッドサマリーテーブルも暗黙的に切り捨てられます。 たとえば、events_waits_summary_global_by_event_name を切り捨てると、アカウント、ホスト、ユーザーまたはスレッドごとに集計された待機イベントサマリーテーブルが暗黙的に切り捨てられます。