Как регистрировать запросы MySQL без индексов?
Я вижу, что есть хорошая опция, как включить журнал медленных запросов и запросов без индексов:
SET GLOBAL log_queries_not_using_indexes=1;
SET GLOBAL log_slow_queries=1;
Хорошо, хорошо, но, похоже, оба пишут в одном и том же файле журнала, который я указал в файле конфигурации my.cnf:
[mysqld]
long_query_time = 1
log-slow-queries = /var/log/mysql/mysql-slow.log
Я использую mysqldumpslow, чтобы увидеть самые медленные запросы, но что мне нужно сделать, чтобы увидеть отдельно эти запросы без индексов?
Не могли бы вы мне помочь?
Заранее спасибо!
Лучший,
Якуб
1 ответ
Ты не можешь Файл журнала представляет собой текстовый файл, и из него нельзя определить, использовал ли запрос индекс во время выполнения. Также опция log-queries-not-using-indexes
не обязательно регистрировать запросы, которые не используют индекс, смотрите:
Если вы используете эту опцию с включенным журналом медленных запросов, запросы, которые должны получить все строки, будут зарегистрированы. См. Раздел 5.2.5, "Журнал медленных запросов". Эта опция не обязательно означает, что индекс не используется. Например, запрос, который использует полное сканирование индекса, использует индекс, но будет зарегистрирован, потому что индекс не будет ограничивать количество строк.