2016-11-23 5 views
0

В нашей системе имеется база данных и архивная база данных. Ежедневные данные из живой базы данных перемещаются в архивные базы данных. Каждый день мы генерировали около 2 миллионов данных в разные таблицы.Разделение таблицы базы данных Oracle базы данных

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

Поскольку данные быстро растут, мы обеспокоены хранением данных в таблице в архивной базе данных. Поскольку у нас нет лицензии на разделение ораков, мы создали таблицу для каждого месяца в течение 10 лет (всего 120 таблиц).

Наша архивная база данных больше написана и будет доступно только чтение. Разделение таблицы на несколько таблиц, есть ли доказанные преимущества с точки зрения производительности/хранения?

С уважением, Mayuran

+0

1 день = 2 млн записей ... 1 месяц = ​​60 млн ... Я думаю, что ваше решение в порядке. если вы поместите все данные в одну таблицу, это может быть проблемой в будущем из-за количества данных в одной таблице – are

ответ

1

Да, есть. Когда у вас нет лицензии на разделение и хранят целые данные в одной таблице, вы не можете разбить ее на несколько табличных пространств. Но когда вы создаете несколько таблиц, вы можете создать табличное пространство, скажем, каждый год. Это позволяет хранить 10-летние данные, которые запрашиваются менее часто с более плохим чтением, чем более новые, которые запрашиваются чаще.
Другой adentage - это размер индексов, если у вас их будет. Конечно, вам нужна логика, чтобы решить, какую таблицу запрашивать (например, процедура, которая возвращает ref cursor на основе месяца, переданного proc), но когда вы применяете это руководство, либо на стороне приложения, либо на стороне db, ваши индексы будут меньше одного огромного.
Следующее приключение, когда какой-то период более 10 лет, вы просто отбрасываете стол суффикса _1015 (я бы посоветовал суффикс месяц и год). Нет необходимости удалять, сжиматься и т. Д.

Смежные вопросы