Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос из множества таблиц union all / 8 сообщений из 8, страница 1 из 1
22.10.2014, 12:34:54
    #38783926
Anton anisimov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
Коллеги!
Некая система складывает логи в таблицы MySQL. При этом, по чуднОй прихоти, она автоматически по своим внутренним (условно непонятным) законам разбивает таблицы на "партиции". Например: fgtadom3-wlog-1413924600, fgtadom3-wlog-1413895080, и т.п. для сущности fgtadom3-wlog. При разбиении таблиц она ведет некую метатаблицу, где хранятся имена этих "партиций", дата начала, окончания партиции, и т.п..
Задача - собрать все партиции в одну таблицу, и делать выборки по всем логам как по плоской таблице.
Решение union all может помочь только при статическом наборе партиций, у меня-же он растет со временем. Можно-ли средствами MySQL без привлечения кодинга на CPP решить эту задачу?
...
Рейтинг: 0 / 0
22.10.2014, 12:40:53
    #38783938
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
Anton anisimov, если исходные таблицы - myisam, то может помочь merge engine . В противном (более вероятном) случае, наверное нет.
...
Рейтинг: 0 / 0
22.10.2014, 12:42:23
    #38783940
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
Anton anisimovРешение union all может помочь только при статическом наборе партиций, у меня-же он растет со временемВ merge тоже придётся переопределять набор, но там это разовая операция - пересоздали "общую" таблицу, потом работаете с ней как обычно.
...
Рейтинг: 0 / 0
22.10.2014, 12:43:50
    #38783943
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
Из INFORMATION_SCHEMA TABLES Table выбираете таблицы по шаблону и далее на основе этой выборки строите запрос.
Строите либо на клиенте, либо процедурно в MySQL с помощью prepared statements .
...
Рейтинг: 0 / 0
22.10.2014, 12:47:07
    #38783949
Anton anisimov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
tanglir,
Во-первых, InnoDB.
Во-вторых:
mysql.comTo remap a MERGE table to a different collection of MyISAM tables, you can use one of the following methods:

DROP the MERGE table and re-create it.

Use ALTER TABLE tbl_name UNION=(...) to change the list of underlying tables.

It is also possible to use ALTER TABLE ... UNION=() (that is, with an empty UNION clause) to remove all of the underlying tables. However, in this case, the table is effectively empty and inserts fail because there is no underlying table to take new rows. Such a table might be useful as a template for creating new MERGE tables with CREATE TABLE ... LIKE.
Задача-же стоит, скорее, в создании view в понимании Oracle, который объединит все таблицы динамически по динамическому списку. MyISAM дает статическое объединение.
...
Рейтинг: 0 / 0
22.10.2014, 12:49:39
    #38783954
Anton anisimov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
miksoft,
Склоняюсь к этому решению.
Видимо, придется делать свою функцию, которая будет генерировать стейтменты для динамического запроса по той "метатаблице", которую ведет это долбаный поставщик логов....
...
Рейтинг: 0 / 0
22.10.2014, 16:38:36
    #38784353
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
Anton anisimovПри разбиении таблиц она ведет некую метатаблицу, где хранятся имена этих "партиций", дата начала, окончания партиции, и т.п.А эта самая надтаблица - она доступна? чего в INFORMATION_SCHEMA лезть? Особенно если в запросах к объединённому отбору есть фильтр по дате...
...
Рейтинг: 0 / 0
22.10.2014, 17:15:53
    #38784429
Anton anisimov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос из множества таблиц union all
Akina,
Да. Эта "мета" доступна. Из нее и планирую забирать данные о таблицах
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос из множества таблиц union all / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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