Rechercher dans le manuel MySQL

26.12.17.3 Statement Summary Tables

The Performance Schema maintains tables for collecting current and recent statement events, and aggregates that information in summary tables. Section 26.12.6, “Performance Schema Statement Event Tables” describes the events on which statement summaries are based. See that discussion for information about the content of statement events, the current and historical statement event tables, and how to control statement event collection, which is partially disabled by default.

Example statement event summary information:

  1. mysql> SELECT *
  2.        FROM performance_schema.events_statements_summary_global_by_event_name\G
  3. *************************** 1. row ***************************
  4.                  EVENT_NAME: statement/sql/select
  5.                  COUNT_STAR: 25
  6.              SUM_TIMER_WAIT: 1535983999000
  7.              MIN_TIMER_WAIT: 209823000
  8.              AVG_TIMER_WAIT: 61439359000
  9.              MAX_TIMER_WAIT: 1363397650000
  10.               SUM_LOCK_TIME: 20186000000
  11.                  SUM_ERRORS: 0
  12.                SUM_WARNINGS: 0
  13.           SUM_ROWS_AFFECTED: 0
  14.               SUM_ROWS_SENT: 388
  15.           SUM_ROWS_EXAMINED: 370
  16. SUM_CREATED_TMP_DISK_TABLES: 0
  17.      SUM_CREATED_TMP_TABLES: 0
  18.        SUM_SELECT_FULL_JOIN: 0
  19.  SUM_SELECT_FULL_RANGE_JOIN: 0
  20.            SUM_SELECT_RANGE: 0
  21.      SUM_SELECT_RANGE_CHECK: 0
  22.             SUM_SELECT_SCAN: 6
  23.       SUM_SORT_MERGE_PASSES: 0
  24.              SUM_SORT_RANGE: 0
  25.               SUM_SORT_ROWS: 0
  26.               SUM_SORT_SCAN: 0
  27.           SUM_NO_INDEX_USED: 6
  28.      SUM_NO_GOOD_INDEX_USED: 0
  29. ...

Each statement summary table has one or more grouping columns to indicate how the table aggregates events. Event names refer to names of event instruments in the setup_instruments table:

Each statement summary table has these summary columns containing aggregated values (with exceptions as noted):

The events_statements_summary_by_digest table has these additional summary columns:

  • FIRST_SEEN, LAST_SEEN

    Timestamps indicating when statements with the given digest value were first seen and most recently seen.

  • QUANTILE_95: The 95th percentile of the statement latency, in picoseconds. This percentile is a high estimate, computed from the histogram data collected. In other words, for a given digest, 95% of the statements measured have a latency lower than QUANTILE_95.

    For access to the histogram data, use the tables described in Section 26.12.17.4, “Statement Histogram Summary Tables”.

  • QUANTILE_99: Similar to QUANTILE_95, but for the 99th percentile.

  • QUANTILE_999: Similar to QUANTILE_95, but for the 99.9th percentile.

The events_statements_summary_by_digest table contains the following columns. These are neither grouping nor summary columns; they support statement sampling:

  • QUERY_SAMPLE_TEXT

    A sample SQL statement that produces the digest value in the row. This column enables applications to access, for a given digest value, a statement actually seen by the server that produces that digest. One use for this might be to run EXPLAIN on the statement to examine the execution plan for a representative statement associated with a frequently occurring digest.

    When the QUERY_SAMPLE_TEXT column is assigned a value, the QUERY_SAMPLE_SEEN and QUERY_SAMPLE_TIMER_WAIT columns are assigned values as well.

    The maximum space available for statement display is 1024 bytes by default. To change this value, set the performance_schema_max_sql_text_length system variable at server startup. (Changing this value affects columns in other Performance Schema tables as well. See Section 26.10, “Performance Schema Statement Digests and Sampling”.)

    For information about statement sampling, see Section 26.10, “Performance Schema Statement Digests and Sampling”.

  • QUERY_SAMPLE_SEEN

    A timestamp indicating when the statement in the QUERY_SAMPLE_TEXT column was seen.

  • QUERY_SAMPLE_TIMER_WAIT

    The wait time for the sample statement in the QUERY_SAMPLE_TEXT column.

The events_statements_summary_by_program table has these additional summary columns:

  • COUNT_STATEMENTS, SUM_STATEMENTS_WAIT, MIN_STATEMENTS_WAIT, AVG_STATEMENTS_WAIT, MAX_STATEMENTS_WAIT

    Statistics about nested statements invoked during stored program execution.

The prepared_statements_instances table has these additional summary columns:

  • COUNT_EXECUTE, SUM_TIMER_EXECUTE, MIN_TIMER_EXECUTE, AVG_TIMER_EXECUTE, MAX_TIMER_EXECUTE

    Aggregated statistics for executions of the prepared statement.

The statement summary tables have these indexes:

TRUNCATE TABLE is permitted for statement summary tables. It has these effects:

  • For events_statements_summary_by_digest, it removes the rows.

  • For other summary tables not aggregated by account, host, or user, truncation resets the summary columns to zero rather than removing rows.

  • For other summary tables aggregated by account, host, or user, truncation removes rows for accounts, hosts, or users with no connections, and resets the summary columns to zero for the remaining rows.

In addition, each statement summary table that is aggregated by account, host, user, or thread is implicitly truncated by truncation of the connection table on which it depends, or truncation of events_statements_summary_global_by_event_name. For details, see Section 26.12.8, “Performance Schema Connection Tables”.

In addition, truncating events_statements_summary_by_digest implicitly truncates events_statements_histogram_by_digest, and truncating events_statements_summary_global_by_event_name implicitly truncates events_statements_histogram_global.

Statement Digest Aggregation Rules

If the statements_digest consumer is enabled, aggregation into events_statements_summary_by_digest occurs as follows when a statement completes. Aggregation is based on the DIGEST value computed for the statement.

  • If a events_statements_summary_by_digest row already exists with the digest value for the statement that just completed, statistics for the statement are aggregated to that row. The LAST_SEEN column is updated to the current time.

  • If no row has the digest value for the statement that just completed, and the table is not full, a new row is created for the statement. The FIRST_SEEN and LAST_SEEN columns are initialized with the current time.

  • If no row has the statement digest value for the statement that just completed, and the table is full, the statistics for the statement that just completed are added to a special catch-all row with DIGEST = NULL, which is created if necessary. If the row is created, the FIRST_SEEN and LAST_SEEN columns are initialized with the current time. Otherwise, the LAST_SEEN column is updated with the current time.

The row with DIGEST = NULL is maintained because Performance Schema tables have a maximum size due to memory constraints. The DIGEST = NULL row permits digests that do not match other rows to be counted even if the summary table is full, using a common other bucket. This row helps you estimate whether the digest summary is representative:

  • A DIGEST = NULL row that has a COUNT_STAR value that represents 5% of all digests shows that the digest summary table is very representative; the other rows cover 95% of the statements seen.

  • A DIGEST = NULL row that has a COUNT_STAR value that represents 50% of all digests shows that the digest summary table is not very representative; the other rows cover only half the statements seen. Most likely the DBA should increase the maximum table size so that more of the rows counted in the DIGEST = NULL row would be counted using more specific rows instead. To do this, set the performance_schema_digests_size system variable to a larger value at server startup. The default size is 200.

Inhaltsverzeichnis Haut

Stored Program Instrumentation Behavior

For stored program types for which instrumentation is enabled in the setup_objects table, events_statements_summary_by_program maintains statistics for stored programs as follows:

  • A row is added for an object when it is first used in the server.

  • The row for an object is removed when the object is dropped.

  • Statistics are aggregated in the row for an object as it executes.

See also Section 26.4.3, “Event Pre-Filtering”.


Suchen Sie im MySQL-Handbuch

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 26/06/2006, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/mysql-rf-statement-summary-tables.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:en Manuel MySQL : https://dev.mysql.com/

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut