文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  依據工具進行預先篩選

29.4.4 依據工具進行預先篩選

setup_instruments 表格列出可用的工具

mysql> SELECT NAME, ENABLED, TIMED
       FROM performance_schema.setup_instruments;
+---------------------------------------------------+---------+-------+
| NAME                                              | ENABLED | TIMED |
+---------------------------------------------------+---------+-------+
...
| stage/sql/end                                     | NO      | NO    |
| stage/sql/executing                               | NO      | NO    |
| stage/sql/init                                    | NO      | NO    |
| stage/sql/insert                                  | NO      | NO    |
...
| statement/sql/load                                | YES     | YES   |
| statement/sql/grant                               | YES     | YES   |
| statement/sql/check                               | YES     | YES   |
| statement/sql/flush                               | YES     | YES   |
...
| wait/synch/mutex/sql/LOCK_global_read_lock        | YES     | YES   |
| wait/synch/mutex/sql/LOCK_global_system_variables | YES     | YES   |
| wait/synch/mutex/sql/LOCK_lock_db                 | YES     | YES   |
| wait/synch/mutex/sql/LOCK_manager                 | YES     | YES   |
...
| wait/synch/rwlock/sql/LOCK_grant                  | YES     | YES   |
| wait/synch/rwlock/sql/LOGGER::LOCK_logger         | YES     | YES   |
| wait/synch/rwlock/sql/LOCK_sys_init_connect       | YES     | YES   |
| wait/synch/rwlock/sql/LOCK_sys_init_slave         | YES     | YES   |
...
| wait/io/file/sql/binlog                           | YES     | YES   |
| wait/io/file/sql/binlog_index                     | YES     | YES   |
| wait/io/file/sql/casetest                         | YES     | YES   |
| wait/io/file/sql/dbopt                            | YES     | YES   |
...

若要控制是否啟用工具,請將其 ENABLED 欄設定為 YESNO。若要設定是否為已啟用的工具收集計時資訊,請將其 TIMED 值設定為 YESNO。設定 TIMED 欄會影響效能架構表格內容,如第 29.4.1 節 「效能架構事件計時」所述。

對大多數setup_instruments 列的修改會立即影響監控。對於某些工具,修改僅在伺服器啟動時有效;在執行階段變更它們沒有任何作用。這主要影響伺服器中的互斥鎖、條件和讀寫鎖,儘管可能還有其他工具也適用此情況。

setup_instruments 表格提供對事件產生最基本的控制形式。若要根據所監控物件或執行緒的類型進一步精煉事件產生,可以使用其他表格,如第 29.4.3 節 「事件預先篩選」所述。

以下範例演示了對 setup_instruments 表格可能進行的操作。這些變更,如同其他預先篩選操作,會影響所有使用者。其中一些查詢使用了 LIKE 運算子和模式比對工具名稱。關於指定模式以選取工具的更多資訊,請參閱第 29.4.9 節,「命名工具或消費者以進行篩選操作」

  • 停用所有工具

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO';

    現在不會收集任何事件。

  • 停用所有檔案工具,將它們加入到目前停用的工具集合中

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO'
    WHERE NAME LIKE 'wait/io/file/%';
  • 僅停用檔案工具,啟用所有其他工具

    UPDATE performance_schema.setup_instruments
    SET ENABLED = IF(NAME LIKE 'wait/io/file/%', 'NO', 'YES');
  • 啟用除了 mysys 函式庫中的工具以外的所有工具

    UPDATE performance_schema.setup_instruments
    SET ENABLED = CASE WHEN NAME LIKE '%/mysys/%' THEN 'YES' ELSE 'NO' END;
  • 停用特定的工具

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO'
    WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
  • 要切換工具的狀態,請「翻轉」其 ENABLED

    UPDATE performance_schema.setup_instruments
    SET ENABLED = IF(ENABLED = 'YES', 'NO', 'YES')
    WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
  • 停用所有事件的計時

    UPDATE performance_schema.setup_instruments
    SET TIMED = 'NO';