этот запрос предназначался для пердставления из которого будут забираться данные для последующей обработки
Нет . И то что ты хочешь запихать это во Вью- это ещё больший пиздец чем просто этот запрос выполнять
Просто думал как-то можно выполнить один раз этот запрос и через лимит и офсет вынимать нужное кол-во
Зачем тогда вообще вью? Когда надо делать много запросов над одними и теми же данными?
Так что ты можешь перемножить количество записей во всех твоих таблицах и получишь цифру, пропорционально которой растёт время выполнения твоего запроса
Странно то что даже обычный SELECT * FROM import_raw LIMIT 500 выполняется 7 секунд
Резюме что надо делать: во-первых надо удалить из всех таблиц дубликаты. Во-вторых надо создать в этих таблицах индексы. В-третьих надо перезаписать этот запрос на новые структуре и Вполне вероятно что он будет использовать индексы и будет более-менее адекватно работать. Я так понимаю что это делается для импорта данных поэтому условия отбора записи оказывает бессмысленно и будут обрабатываться все записи . Ну значит тут уже ничего не поделать.
Ну этот запрос во-первых сразу бессмысленный вообще в принципе Зачем мерить его скорость непонятно Ну ладно Ну значит у тебя просто тупо дерьмовое железо ещё на всё это сверху
Да по идее не плохое, Ryzen 7 3700X 64гига оперативы
Сколько памяти выделено под кэш данных?
Должно быть что-то типа 60 Гб
Это параметр: tmp_table_size?
А как проверить, не подскажешь?)
Ну конечно не 60 где-то наверное 50 можно смело выделять
Инна деби бафферp pool size
Обсуждают сегодня