Использование представлений для таблиц с одинаковой схемой - PullRequest
0 голосов
/ 31 августа 2018

Мы используем несколько таблиц для сохранения данных объекта по месяцам. Это означает, что у нас есть имена таблиц как xx01, xx02 ... xx12. Определение таблицы для всех этих таблиц одинаковое, кроме имени. Мы делаем так, чтобы мы могли бросить стол, когда думаем, что он старый. Пример: удаление таблицы за февраль в декабре. Удаление таблицы будет по существу бесплатным. У меня вопрос, могу ли я создать представление, которое может читать из любой из этих таблиц? Представление должно иметь возможность извлекать данные из любой из этих таблиц, возможно, из нескольких таблиц для запросов диапазона. БД: Oracle 12c. PS: у нас не может быть столбца для месяца и разделов на нем, потому что мы должны разделить и подразделить на основе других столбцов для производительности чтения.

1 Ответ

0 голосов
/ 31 августа 2018

Я думаю, что может быть лучший способ, и он будет работать в Oracle: у вас должна быть только одна таблица xx с колонкой для месяца (или месяца / года) - но сделайте ее разделенной таблицей в этом месяце ( или месяц / год) столбец.

Что Oracle сделает, так это создаст отдельную область хранения для каждого значения столбца раздела, и он будет достаточно умен, чтобы рассматривать только соответствующие области хранения, если ваши запросы содержат значение (или диапазон) для этот раздел столбец.

Если вы когда-нибудь решили, что больше не хотите сохранять определенный месяц (или месяц / год), вы можете указать Oracle отбросить этот один раздел, оставив остальную таблицу без изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...