version: 5.7.28-31-log):
В information_schema.processlist присутствует простой селект
, который выбирает немножко данных по индексам, explain абсолютно адекватный,
но он висит в состоянии query end уже несколько суток
USER: username
HOST: 192.168.51.161:54141
DB: dbname
COMMAND: Query
TIME: 2490381
STATE: query end
INFO:
SELECT
h.*
FROM
h
JOIN hg ON h.id = hg.holiday_id
JOIN hr ON h.id = hr.holiday_id
WHERE
hg.good_id = 153305
AND h.active = 1
AND (hr.represent_id = 0 OR hr.represent_id = 16)
AND NOW() BETWEEN h.date_begin AND h.date_end
AND h.client_hide = 0
TIME_MS: 2490381721
ROWS_SENT: 0
ROWS_EXAMINED: 10
Когда схожий запрос был прибит kill''ом, то он сменил STATE на killed и продолжил
"висеть".
vftimes по поводу killed недавно сказал следующее:
`если он killed, то это зомбак, сам запрос убит, но его поток не умер,
ресурсы не отданы. Обычно это только перезапуск MySQL`
_______________________________________________
Вопрос - почему простой запрос может так надолго "зависнуть" и что можно сделать
кроме того что прибить запрос, а далее рестартовать службу mysql?
https://bugs.mysql.com/bug.php?id=91078 что то похожее здесь почитай
Спасибо, да, мой кейс. query cache отключен. придется ориентироваться на последний комментарий в треде. Hi, This is a real bug, and there is one fix in 8.0.22 and 5.7.32 that *may* solve it. Please wait for that release, and search the change history notes for Bug #30594501 . It is related to previously fixed Bug #27325898 . regards, sbester
Обсуждают сегодня