LINUX.ORG.RU

Анализ mysql slow query

 , ,


0

3

Смотрю на лаги, вижу простейший запрос вида «select * from T where X=X1 and Y>Y1 and Y<Y2» - X и Y в составном индексе. Движок - MyISAM (ну надо так, история). В 99% случаев отрабатывают шустро. Но иногда:

Query_time: 30.041435 Lock_time: 0.000052 Rows_sent: 0 Rows_examined: 0

Т.е. ничего не просмотрено, ничего не выбрано, локов не было, но 30 секунд висим. Как это можно пояснить?

mysql Ver 14.14 Distrib 5.5.38, for debian-linux-gnu (x86_64)

★★★★★
Ответ на: комментарий от stevejobs

беда в том, что в 99% случаев все выполняется быстро. А подобных запросов много, на все explain не повесишь, да и ORM, мать его...

может можно ли как-нибудь мускуль заставить писать EXPLAIN в slow-query-log?

dib2 ★★★★★
() автор топика
Ответ на: комментарий от dib2

в конфиге:

[mysqld]
log-slow-verbosity=query_plan,explain

но не уверен, есть ли это конкретно в mysql. Оно точно есть в свежей mariadb.

stevejobs ★★★★☆
()
Ответ на: комментарий от dib2

+ есть два вида людей: те кто делает бэкапы перед накатыванием новой версии базы, и тех, кто действительно делает бэкапы

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

стоп, но ведь есть еще и настоящие джигиты, которые бекапы не делают в принципе! :)

// у мну сервы реплицированы, достаточно просто stop slave. БД в 190ГБ, которая в 24/7, бекапить не совсем удобно.

dib2 ★★★★★
() автор топика

Есть ещё простои ожидания выполнения в планировщике задач ОС и ожидание IO. Если демон крутится на каком-нибудь загруженном vps/vds, то поток вполне может висеть десятки секунд.

mashina ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.