Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


22.9.2.4 setup_objects テーブル

setup_objects テーブルは、パフォーマンススキーマが特定のオブジェクトをモニターするかどうかを制御します。このテーブルはデフォルトで 100 行の最大サイズになります。テーブルサイズを変更するには、サーバー起動時に performance_schema_setup_objects_size システム変数を変更します。

初期 setup_objects の内容は次のように見えます。

mysql> SELECT * FROM setup_objects;
+-------------+--------------------+-------------+---------+-------+
| OBJECT_TYPE | OBJECT_SCHEMA      | OBJECT_NAME | ENABLED | TIMED |
+-------------+--------------------+-------------+---------+-------+
| TABLE       | mysql              | %           | NO      | NO    |
| TABLE       | performance_schema | %           | NO      | NO    |
| TABLE       | information_schema | %           | NO      | NO    |
| TABLE       | %                  | %           | YES     | YES   |
+-------------+--------------------+-------------+---------+-------+

setup_objects テーブルへの変更はただちにオブジェクトモニタリングに影響します。

setup_objects に示されているオブジェクトの種類では、パフォーマンススキーマはそれらのモニター方法にテーブルを使用します。オブジェクトの一致は OBJECT_SCHEMA および OBJECT_NAME カラムに基づきます。一致のないオブジェクトはモニターされません。

デフォルトのオブジェクト構成の効果は、mysqlINFORMATION_SCHEMA、および performance_schema データベースのテーブルを除くすべてのテーブルをインストゥルメントすることです。(INFORMATION_SCHEMA データベース内のテーブルは、setup_objects の内容に関係なくインストゥルメントされず、information_schema.% の行は単にこのデフォルトを明示します。)

パフォーマンススキーマは、setup_objects の一致をチェックする場合、まずより詳細な一致を見つけようとします。たとえば、テーブル db1.t1 では、'db1''t1'、次に 'db1''%'、次に '%''%' の一致を検索します。さまざまな一致する setup_objects 行はさまざまな ENABLED 値と TIMED 値を持つ可能性があるため、一致が発生する順序が重要です。

テーブルへの INSERT または DELETE 権限を持つユーザーが、setup_objects に行を挿入したり、削除したりできます。既存の行では、テーブルへの UPDATE 権限を持つユーザーによって、ENABLED および TIMED カラムのみを変更できます。

イベントフィルタリングにおける setup_objects テーブルの役割の詳細については、セクション22.2.3.3「イベントの事前フィルタリング」を参照してください。

setup_objects テーブルにはこれらのカラムがあります。

  • OBJECT_TYPE

    インストゥルメントするオブジェクトの種類。現在、これは常に 'TABLE' (ベーステーブル) です。

    TABLE フィルタリングはテーブル I/O イベント (wait/io/table/sql/handler インストゥルメント) およびテーブルロックイベント (wait/lock/table/sql/handler インストゥルメント) に影響します。

  • OBJECT_SCHEMA

    オブジェクトを格納するスキーマ。これはリテラル名、または任意のスキーマを意味する '%' であるべきです。

  • OBJECT_NAME

    インストゥルメントされたオブジェクトの名前。これはリテラル名、または任意のオブジェクトを意味する '%' であるべきです。

  • ENABLED

    オブジェクトのイベントがインストゥルメントされるかどうか。このカラムは変更できます。

    このカラムは、MySQL 5.6.3 で追加されました。それが存在しない初期バージョンの場合、パフォーマンススキーマはテーブル内の一部の行に一致するオブジェクトに対してのみモニタリングを有効にします。一致しないオブジェクトに対しては、モニタリングは暗黙的に無効にされます。

  • TIMED

    オブジェクトのイベントの時間が測定されるかどうか。このカラムは変更できます。