Що таке Slow Query Log
Slow Query Log фіксує SQL-запити, які виконуються довше заданого часу. Це головний інструмент діагностики продуктивності БД.
Увімкнення через my.cnf
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
log_queries_not_using_indexes = 1Аналіз через mysqldumpslow
mysqldumpslow -s t -t 10 /var/log/mysql/slow.log
mysqldumpslow -s c -t 10 /var/log/mysql/slow.logАналіз через pt-query-digest
sudo apt install percona-toolkit
pt-query-digest /var/log/mysql/slow.logEXPLAIN для оптимізації
EXPLAIN SELECT * FROM orders WHERE status = 'pending' AND created_at > '2024-01-01';Ключові поля EXPLAIN:
type (має бути ref/eq_ref/const, не ALL), rows (менше = краще).