Время от времени мы получаем особенно длительный полный текстовый запрос в MySQL. Запрос будет работать очень долго, в настоящее время я вижу тот, который работает на 50 000 секунд (и все еще идет). Использование Kill или Kill Query в запросе, кажется, ничего не делает. Кроме того, время ожидания команды на стороне клиента составляет 30 секунд, поэтому клиент уже провалился и ушел, но сервер просто продолжает выполнение запроса, используя довольно много ресурсов. Раньше нам приходилось перезапускать службу MySQL, чтобы эти запросы перестали работать. Есть ли другой способ остановить эти запросы. Мы принимаем меры для обеспечения того, чтобы запросы не запускались в первую очередь, но они все равно периодически запускаются, и это большая боль. В основном потому, что во время выполнения запросов мы не можем выполнять обновления в таблице.Таблица блокировки полного текстового запроса MySQL
Пример длинного бега запроса будет что-то вдоль линий:
SELECT id,Title From Articles WHERE MATCH(ArticleText) AGAINST('+Nintendo*HD*Wii*' IN BOOLEAN MODE)
Это долго работает особенно из-за * в середине строки поиска, а также в конце строка.
Может показаться пример одного из этих длинных запросов? – pjanaway