Как сделать select из множества однотипных таблиц mysql?

Есть много однотипных таблиц вида
log_201901
log_201902
...
log_202103

Можно ли без внешних скриптов как-то сделать select ко всем таким таблицам разом?
Ну или объединить их в одну, не прописывая каждую в union
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
romesses
@romesses
Backend инженер
На этот момент пока есть мысль выполнить разовую миграцию в одну целую таблицу при помощи хранимой процедуры, где будет алгоритм с 2-мя циклами (годам и месяцам), выполняющий INSERT INTO SELECT в новую таблицу.
Причем, новая таблица должна быть построена с партициями по годам и месяцам, чтобы решить предполагаемую проблему с количеством данных, из-за чего и возникла идея разбить на множество таблиц.
Альтернативно, можно выполнить дамп всех таблиц и "склеить" их при импорте.

Собственно, выполнив миграцию, можно будет самым обычным способом производить выборки логов в нужном диапазоне дат.

А, вообще, если у вас в логах хранятся метрики (история цифр), то подумайте о переходе на другие СУБД (аналитические, временных серий и пр.).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы