引用元
https://zenn.dev/hiro1111/articles/performance_schema
- ステートメント分析
最もリソースを消費しているSQLステートメントを特定します。以下のクエリは、CPU時間、待機時間、ロック時間、およびIO時間で最もコストが高いステートメントを見つけます。
SELECT EVENT_NAME, COUNT_STAR, SUM_TIMER_WAIT FROM performance_schema.events_statements_summary_global_by_event_name WHERE SUM_TIMER_WAIT > 0 ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;
- 待機イベント分析
データベースの待機イベントを分析して、どのリソースがボトルネックになっているかを特定します。
SELECT * FROM performance_schema.events_waits_summary_global_by_event_name WHERE COUNT_STAR > 0 ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;
- スロークエリの識別
performance_schemaを使用して、実行時間が長いクエリを特定します。events_statements_history_longテーブルには、最も長い実行時間を持つステートメントの履歴が保持されています。
SELECT SQL_TEXT, TIMER_WAIT FROM performance_schema.events_statements_history_long ORDER BY TIMER_WAIT DESC LIMIT 10;
ロック待機分析
ロック待機の原因となっているクエリを特定します。
SELECT * FROM performance_schema.events_waits_current WHERE EVENT_NAME LIKE '%lock%' ORDER BY EVENT_ID;