powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / радикально тормозит запрос после переезда с 5.6 на 8.0
4 сообщений из 4, страница 1 из 1
радикально тормозит запрос после переезда с 5.6 на 8.0
    #40013886
sgala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
радикально тормозит запрос после переезда с 5.6 на 8.0
my.cnf абсолютно одинаковые.

запрос
авторinsert into table2 (
select * from table1 where md5 in (
select md5 from table 1 group by md5 having count(*)>1
)
)

во всех таблицах два поля mediumint - md5 и id_md5
смысл запроса - переложить в новую таблицу только те записи, которые встречаются больше одного раза

строк - больше 5млн, самый вложенный запрос возвращает около 5 тысяч, на инсерт уже уходит около 8 тысяч

На старом серваке - запрос отрабатывал за 15-30 секунд,
эксплеин показывает нечто вроде
автор1 PRIMARY table1 ALL NULL NULL NULL NULL 4131264 Using where
2 SUBQUERY table1 ALL NULL NULL NULL NULL 4131264 Using temporary; Using filesort
На новом серваке я уже устал ждать, минут 30 жрет ресурсы мускула вовсю и нигугу
эксплеин показывает нечто вроде
авторавтор1 PRIMARY table1 ALL NULL NULL NULL NULL 4131264 Using where
2 SUBQUERY table1 ALL NULL NULL NULL NULL 4131264 Using temporary

Подскажите куда копать - в идеале восстановить старое поведение мускула, т.к. проект большой и я чувствую что там еще много таких подводных камней с изменением поведения будет.
...
Рейтинг: 0 / 0
радикально тормозит запрос после переезда с 5.6 на 8.0
    #40014012
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sgala,

Индекс по полю md5 не пробовали сделать?
...
Рейтинг: 0 / 0
радикально тормозит запрос после переезда с 5.6 на 8.0
    #40014094
sgala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

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

Проблема решена,
к запросу
select md5 from table 1 group by md5 having count(*)>1
приписан хвост order by md5
В 5.6 по умолчанию была сортировка по группируемому полю (из-за чего раньше order by null дописывали), в 8-ке ее убрали.

Тем не менее вопрос "что за на фиг" остается. Причины тут интереснее самого факта решения.
...
Рейтинг: 0 / 0
радикально тормозит запрос после переезда с 5.6 на 8.0
    #40014157
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТем не менее вопрос "что за на фиг" остается. Причины тут интереснее самого факта решения.

performance schema тебе в помощь
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / радикально тормозит запрос после переезда с 5.6 на 8.0
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]