MySQL slow query log

Metal Messiah
На сайте с 01.08.2010
Offline
152
689

В конфиге

long_query_time=10
slow_query_log=ON
slow_query_log_file = /var/log/mysql/mysql-slow.log

В интернетах пишут что время тут указывается  в секундах, а не миллисекундах.

# User@Host: *[*] @ localhost []
# Thread_id: *  Schema: *  QC_hit: No
# Query_time: 0.000470  Lock_time: 0.000114  Rows_sent: 0  Rows_examined: 222
# Rows_affected: 0  Bytes_sent: 92
SET timestamp=1643835824;
SELECT `id` FROM `joomla_categories` WHERE `parent_id` = 1;
Что тогда этот и миллионы других запросов, выполненных за доли секунды, делают в логе размером гигабайт (за сутки)?


anonymous, думай что говоришь и не забывай подписать отзыв :)
M
На сайте с 17.09.2016
Offline
124
#1
log_queries_not_using_indexes включена?
Metal Messiah
На сайте с 01.08.2010
Offline
152
#2

Хз. По дефолту.  С чего бы это в структуре базы джумлы не было бы индексов? Это же, мммать, самая оптимизированная по производительности CMS...

+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | ON    |
+-------------------------------+-------+

да

Спасибо за намек, 10 минут пытался понять в чем проблема. Видимо, пора спать. Этот запрос  действительно не использовал индексы (parent_id не входит в перечень из 8 индексов этой таблицы). Отключил, завтра буду собирать реально медленные запросы.
MB
На сайте с 24.02.2009
Offline
162
#3
У меня такой вопрос, как отслеживать медленные UPDATE, INSERT в slow_query_log?
По дефолту они туда не пишутся.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#4
Mister_Black #:
У меня такой вопрос, как отслеживать медленные UPDATE, INSERT в slow_query_log?
По дефолту они туда не пишутся.

Странно, что не пишутся. Там нет каких выборок. Все запросы долгие пишутся в лог, без разницы какого типа.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
MB
На сайте с 24.02.2009
Offline
162
#5
LEOnidUKG #:

Странно, что не пишутся. Там нет каких выборок. Все запросы долгие пишутся в лог, без разницы какого типа.

А с чем это может быть связано, MariaDB стоит, может там какие то свои настройки логирования есть?
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#6
Mister_Black #:
А с чем это может быть связано, MariaDB стоит, может там какие то свои настройки логирования есть?

А вы точно уверены, что у вас есть INSERT 1 запрос или UPDATE 1 запрос, который выполняется больше установленного времени? Вроде это не такие и медленные запросы в большинстве случаев.

Может быть вы путаете с выполнение скриптов, в которых может быть по 100 разных INSERT, тогда это другое.

MB
На сайте с 24.02.2009
Offline
162
#7
LEOnidUKG #:

А вы точно уверены, что у вас есть INSERT 1 запрос или UPDATE 1 запрос, который выполняется больше установленного времени? Вроде это не такие и медленные запросы в большинстве случаев.

Может быть вы путаете с выполнение скриптов, в которых может быть по 100 разных INSERT, тогда это другое.

точно знаю сам его видел, 36 секунд висел, у меня вордпресс, смотрю через get_num_queries(),  зависает апдейт подсчёта просмотров поста, пример

UPDATE `wp_count_views` SET `value` = '2' WHERE `item` = '79140'

но  иногда, очень редко, вот хотелось бы выявить сколько всего таких зависаний за сутки, иначе придётся убрать этот подсчёт просмотров постов.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#8
зависает в каком статусе? не может он выполняться долго, проверьте индекс на столбце:
item

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий