Spec-Zone.ru › MySQL 8.4

29.12.20.4 Сводные таблицы гистограмм заявок

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

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

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

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 для сводных таблиц гистограмм заявок. Оператор TRUNCATE устанавливает столбцы 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-8.4-en/performance-schema-statement-histogram-summary-tables.html

Spec-Zone.ru

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