Одна большая таблица разделена, а затем подразделена или несколько меньших разделенных таблиц - PullRequest
6 голосов
/ 15 июля 2011

В настоящее время у меня есть несколько таблиц аудита, которые проверяют данные конкретных таблиц.

например, ATAB_AUDIT, BTAB_AUDIT и CTAB_AUDIT проверяют вставки, обновления и удаления из ATAB, BTAB и CTAB соответственно.

Эти таблицы аудитаразделены по годам.

Поскольку столбцы в этих таблицах аудита идентичны (change_date, old_value, new_value и т. д.), было бы полезно использовать одну большую таблицу аудита, добавьте столбец, содержащий имя таблицы, котораясгенерировал запись аудита (имя_таблицы), разделил ее на имя_таблицы и затем разделил на год?

База данных - Oracle 11g в Solaris.

Почему или почему бы не сделать это?

Большое спасибо заранее.

1 Ответ

4 голосов
/ 15 июля 2011

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

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

...