問合せの分析

パフォーマンス・スキーマおよびsysスキーマを使用して、DBシステムで実行される問合せを分析できます。

パフォーマンススキーマは、実行時にサーバーの内部実行を検査する方法を提供し、主にパフォーマンスデータに焦点を当て、sysスキーマはパフォーマンススキーマによって収集されたデータの解釈に役立ちます。

たとえば、ほとんどの実行時間(レイテンシ)を消費する問合せを検索する場合は、次を実行します。

SELECT schema_name, format_pico_time(total_latency) tot_lat,
                exec_count, format_pico_time(total_latency/exec_count)
                latency_per_call, query_sample_text
     FROM sys.x$statements_with_runtimes_in_95th_percentile as t1
     JOIN performance_schema.events_statements_summary_by_digest as t2 on t2.digest=t1.digest 
     WHERE schema_name not in ('performance_schema', 'sys')
     ORDER BY (total_latency/exec_count) desc limit 1\G
*************************** 1. row ***************************
      schema_name: employees
          tot_lat: 21.54 s
       exec_count: 4
 latency_per_call: 5.38 s
query_sample_text: select * from salaries where salary > 80000
1 row in set (0.0127 sec)
システム・スキーマには、不良問合せのハントに使用できる文分析ビューも含まれています。例:
SELECT * FROM sys.statement_analysis 
     WHERE db notin('performance_schema','sys')limit1\G
***************************1.row***************************
            query: SELECT`new_table`.`title`,...`title`ORDERBY`salary`DESC
               db: employees
        full_scan: 
       exec_count: 11
        err_count: 0
       warn_count: 0
    total_latency: 38.96 s
      max_latency: 5.15 s
      avg_latency: 3.54 s
     lock_latency: 33.00 us
      cpu_latency:   0 ps
        rows_sent: 77
    rows_sent_avg: 7
    rows_examined: 13053117
rows_examined_avg: 1186647
    rows_affected: 0
rows_affected_avg: 0
       tmp_tables: 22
  tmp_disk_tables: 11
      rows_sorted: 77
sort_merge_passes: 0
           digest: 922701de9e5c51847f9f7de245b88fef4080b515ba8805082cd90c32830714eb
       first_seen: 2022-10-1220:45:50.770465
        last_seen: 2022-10-1311:49:13.1402281rowinset(0.0022 sec)