Spec-Zone.ru › MySQL 9.2

29.12.20.4 Таблицы сводного анализа гистограмм запросов

Модуль Performance Schema поддерживает сводные таблицы событий запросов, содержащие информацию о минимальной, максимальной и средней задержке выполнения запросов (см. раздел 29.12.20.3, «Таблицы сводного анализа запросов»). Эти таблицы позволяют оценить производительность системы на высоком уровне. Для оценки производительности на более детальном уровне модуль Performance Schema также собирает гистограмму данных задержек выполнения запросов. Эти гистограммы предоставляют дополнительную информацию о распределении задержек.

Раздел 29.12.6, «Таблицы событий запросов Performance Schema» описывает события, на основе которых строятся сводные таблицы запросов. См. данное обсуждение для получения информации о содержании событий запросов, текущих и исторических таблицах событий запросов и о том, как управлять сбором событий запросов, который по умолчанию частично отключён.

Пример информации из гистограммы запросов:

mysql> SELECT *
       FROM performance_schema.events_statements_histogram_by_digest
       WHERE SCHEMA_NAME = 'mydb' AND DIGEST = 'bb3f69453119b2d7b3ae40673a9d4c7c'
       AND COUNT_BUCKET > 0 ORDER BY BUCKET_NUMBER\G
*************************** 1. row ***************************
           SCHEMA_NAME: mydb
                DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
         BUCKET_NUMBER: 42
      BUCKET_TIMER_LOW: 66069344
     BUCKET_TIMER_HIGH: 69183097
          COUNT_BUCKET: 1
COUNT_BUCKET_AND_LOWER: 1
       BUCKET_QUANTILE: 0.058824
*************************** 2. row ***************************
           SCHEMA_NAME: mydb
                DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
         BUCKET_NUMBER: 43
      BUCKET_TIMER_LOW: 69183097
     BUCKET_TIMER_HIGH: 72443596
          COUNT_BUCKET: 1
COUNT_BUCKET_AND_LOWER: 2
       BUCKET_QUANTILE: 0.117647
*************************** 3. row ***************************
           SCHEMA_NAME: mydb
                DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
         BUCKET_NUMBER: 44
      BUCKET_TIMER_LOW: 72443596
     BUCKET_TIMER_HIGH: 75857757
          COUNT_BUCKET: 2
COUNT_BUCKET_AND_LOWER: 4
       BUCKET_QUANTILE: 0.235294
*************************** 4. row ***************************
           SCHEMA_NAME: mydb
                DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c
         BUCKET_NUMBER: 45
      BUCKET_TIMER_LOW: 75857757
     BUCKET_TIMER_HIGH: 79432823
          COUNT_BUCKET: 6
COUNT_BUCKET_AND_LOWER: 10
       BUCKET_QUANTILE: 0.625000
...

Например, в строке 3 эти значения показывают, что 23,52% запросов выполняются менее чем за 75,86 микросекунд:

BUCKET_TIMER_HIGH: 75857757
  BUCKET_QUANTILE: 0.235294

В строке 4 эти значения показывают, что 62,50% запросов выполняются менее чем за 79,44 микросекунд:

BUCKET_TIMER_HIGH: 79432823
  BUCKET_QUANTILE: 0.625000

Каждая таблица сводного анализа гистограмм запросов имеет один или несколько группирующих столбцов, указывающих, как таблица агрегирует события:

  • events_statements_histogram_by_digest имеет SCHEMA_NAME, DIGEST и BUCKET_NUMBER столбцы:

    • Столбцы SCHEMA_NAME и DIGEST идентифицируют строку в таблице сводного анализа запросов events_statements_summary_by_digest.

    • Строки events_statements_histogram_by_digest с одинаковыми значениями в столбцах SCHEMA_NAME и DIGEST составляют гистограмму для данной схемы/резюме.

    • В рамках данной гистограммы столбец BUCKET_NUMBER указывает номер корзины.

  • events_statements_histogram_global содержит столбец BUCKET_NUMBER. Эта таблица обобщает задержки глобально по имени схемы и значениям резюме, используя одну гистограмму. Столбец BUCKET_NUMBER указывает номер корзины в этой глобальной гистограмме.

Гистограмма состоит из N корзин, где каждая строка представляет одну корзину, а номер корзины указан в столбце BUCKET_NUMBER. Номера корзин начинаются с 0.

Каждая таблица сводного анализа гистограмм запросов содержит следующие столбцы со значениями агрегации:

  • BUCKET_TIMER_LOW, BUCKET_TIMER_HIGH

    Корзина подсчитывает запросы, у которых задержка, измеренная в пикосекундах, находится в диапазоне от BUCKET_TIMER_LOW до BUCKET_TIMER_HIGH:

    • Значение BUCKET_TIMER_LOW для первой корзины (BUCKET_NUMBER = 0) равно 0.

    • Значение BUCKET_TIMER_LOW для корзины (BUCKET_NUMBER = k) такое же, как BUCKET_TIMER_HIGH для предыдущей корзины (BUCKET_NUMBER = k−1)

    • Последняя корзина служит для запросов с задержкой, превышающей задержки предыдущих корзин в гистограмме.

  • COUNT_BUCKET

    Количество запросов, измеренных с задержкой в интервале от BUCKET_TIMER_LOW до, но не включая, BUCKET_TIMER_HIGH.

  • COUNT_BUCKET_AND_LOWER

    Количество запросов, измеренных с задержкой в интервале от 0 до, но не включая, BUCKET_TIMER_HIGH.

  • BUCKET_QUANTILE

    Доля запросов, попадающих в эту или более низкую корзину. Эта доля по определению соответствует COUNT_BUCKET_AND_LOWER / SUM(COUNT_BUCKET) и отображается для удобства.

У таблиц сводного анализа гистограмм запросов есть такие индексы:

  • events_statements_histogram_by_digest:

    • Уникальный индекс по (SCHEMA_NAME, DIGEST, BUCKET_NUMBER)

  • events_statements_histogram_global:

    • Первичный ключ по (BUCKET_NUMBER)

Разрешено применение оператора TRUNCATE TABLE для таблиц сводного анализа гистограмм запросов. Оператор усечения устанавливает столбцы COUNT_BUCKET и COUNT_BUCKET_AND_LOWER в 0.

Кроме того, усечение events_statements_summary_by_digest неявно усекает events_statements_histogram_by_digest, а усечение events_statements_summary_global_by_event_name неявно усекает events_statements_histogram_global.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/performance-schema-statement-histogram-summary-tables.html

Spec-Zone.ru

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