Closed3

スロークエリをさっと設定してさっと確認する

tamaco489tamaco489

設定方法

query
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL slow_query_log_file = '/path/to/slow-query.log';
SET GLOBAL long_query_time = 3; -- 3秒以上かかるクエリを記録
my.cnf
[mysqld]
slow_query_log=ON
long_query_time = 3
slow_query_log_file = /path/to/slow-query.log
postgresql.conf
log_min_duration_statement = 3000  -- 3000ミリ秒(3秒)以上かかるクエリを記録
tamaco489tamaco489
# Time: 2025-05-01T08:27:43.000000Z
# User@Host: root[root] @ localhost []
# Query_time: 3.123456  Lock_time: 0.000234  Rows_sent: 100  Rows_examined: 10000
# Full scan: YES  Query_cache_hit: NO
# Query:
SELECT * FROM large_table WHERE column1 = 'value' AND column2 = 'another_value';

# Time: 2025-05-01T08:30:01.000000Z
# User@Host: root[root] @ localhost []
# Query_time: 1.234567  Lock_time: 0.000100  Rows_sent: 10  Rows_examined: 1000
# Full scan: NO  Query_cache_hit: YES
# Query:
SELECT id, name FROM users WHERE status = 'active';

ログの各項目の解説

項目 説明
Time クエリが実行された日時。例:2025-05-01T08:27:43.000000Z
User@Host クエリを実行したユーザーとホスト。例:root[root] @ localhost []
Query_time クエリが実行されるのにかかった時間(秒単位)。例:3.123456
Lock_time クエリがロックを取得するのにかかった時間。例:0.000234
Rows_sent クエリが返した行数。例:100
Rows_examined クエリが調べた行数。例:10000
Full scan フルテーブルスキャンが行われたかどうか。例:YES
Query_cache_hit クエリキャッシュがヒットしたかどうか。例:NO
Query 実行されたSQLクエリそのもの。例:SELECT * FROM large_table...
このスクラップは4ヶ月前にクローズされました