Spec-Zone.ru › MySQL 8.4

29.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, как описано в разделе 29.4.1 «Временные характеристики событий Performance Schema».

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

При проверке механизмом Performance Schema на соответствие в setup_objects сначала ищутся более специфические соответствия. Для строк, которые соответствуют заданному 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-8.4-en/performance-schema-object-filtering.html

Spec-Zone.ru

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