Spec-Zone.ru › MySQL 5.7

25.4.5 Предварительный фильтр по объекту

Таблица setup_objects управляет тем, отслеживают ли мониторы Performance Schema определённые табличные и хранимые программные объекты. Исходное содержимое setup_objects выглядит так:

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

Изменения в таблице setup_objects влияют на мониторинг объектов немедленно.

Столбец OBJECT_TYPE указывает тип объекта, к которому относится строка. TABLE фильтрация влияет на события ввода-вывода таблиц (инструмент wait/io/table/sql/handler) и события блокировок таблиц (инструмент wait/lock/table/sql/handler).

Столбцы OBJECT_SCHEMA и OBJECT_NAME должны содержать литеральное имя схемы или объекта, или '%' для соответствия любому имени.

Столбец ENABLED указывает, отслеживаются ли соответствующие объекты, а TIMED указывает, следует ли собирать временные данные. Установка столбца TIMED влияет на содержимое таблицы Performance Schema, как описано в разделе 25.4.1 «Временные метки событий Performance Schema».

Эффект стандартной конфигурации объектов состоит в инструментировании всех объектов, за исключением объектов в базах данных mysql, INFORMATION_SCHEMA и performance_schema. (Таблицы в базе данных INFORMATION_SCHEMA не инструментируются независимо от содержимого setup_objects; строка для information_schema.% просто делает этот стандарт явным.)

При проверке соответствия в setup_objects Performance Schema сначала пытается найти более точные совпадения. Для строк, которые соответствуют данному OBJECT_TYPE, Performance Schema проверяет строки в этом порядке:

  • Строки с OBJECT_SCHEMA='literal' и OBJECT_NAME='literal'.

  • Строки с OBJECT_SCHEMA='literal' и OBJECT_NAME='%'.

  • Строки с OBJECT_SCHEMA='%' и OBJECT_NAME='%'.

Например, с таблицей db1.t1, Performance Schema ищет совпадения в строках TABLE для 'db1' и 't1', затем для 'db1' и '%', затем для '%' и '%'. Порядок, в котором происходит сопоставление, важен, потому что различные строки сопоставления setup_objects могут иметь разные значения ENABLED и TIMED.

Для событий, связанных с таблицами, Performance Schema объединяет содержимое setup_objects с setup_instruments для определения того, следует ли включать инструменты и следует ли измерять время работы включенных инструментов:

  • Для таблиц, которые соответствуют строке в setup_objects, табличные инструменты генерируют события только если ENABLED равно YES как в setup_instruments, так и в setup_objects.

  • Значения TIMED в двух таблицах объединяются, так что временные данные собираются только когда оба значения равны YES.

Для хранимых программных объектов Performance Schema берёт столбцы ENABLED и TIMED непосредственно из строки setup_objects. Нет объединения значений с setup_instruments.

Предположим, что setup_objects содержит следующие строки TABLE, которые применяются к db1, db2 и db3:

+-------------+---------------+-------------+---------+-------+
| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |
+-------------+---------------+-------------+---------+-------+
| TABLE       | db1           | t1          | YES     | YES   |
| TABLE       | db1           | t2          | NO      | NO    |
| TABLE       | db2           | %           | YES     | YES   |
| TABLE       | db3           | %           | NO      | NO    |
| TABLE       | %             | %           | YES     | YES   |
+-------------+---------------+-------------+---------+-------+

Если у инструмента, связанного с объектом, в setup_instruments значение ENABLED равно NO, события для объекта не отслеживаются. Если значение ENABLED равно YES, отслеживание событий происходит в соответствии со значением ENABLED в соответствующей строке setup_objects:

  • Отслеживаются события db1.t1

  • События db1.t2 не отслеживаются

  • Отслеживаются события db2.t3

  • События db3.t4 не отслеживаются

  • Отслеживаются события db4.t5

Аналогичная логика применяется для объединения столбцов TIMED из таблиц setup_instruments и setup_objects для определения того, следует ли собирать временные данные событий.

Если у постоянной таблицы и временной таблицы одинаковое имя, соответствие строкам setup_objects происходит одинаково для обеих. Невозможно включить мониторинг для одной таблицы, но не для другой. Однако каждая таблица инструментируется отдельно.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/performance-schema-object-filtering.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API