Наиболее вероятной схемой разделения будет диапазон-раздел ваших данных на дату создания. Каждую неделю вы создаете новый раздел и удаляете самый старый. Воздействие будет зависеть от того, как эта таблица используется / индексируется.
Поскольку это таблица журналирования, возможно, она не проиндексирована, в этом случае удаление раздела будет иметь незначительное влияние: ссылки на объекты не будут признаны недействительными, для удаления потребуется просто блокировка раздела (а самый старый раздел не должен ' быть вставленным в это время).
Если таблица проиндексирована, вам придется решить, будут ли ваши индексы глобальными или секционированными. Глобальные индексы должны быть перестроены, когда вы удаляете раздел (что занимает много времени, хотя 20 миллионов строк по-прежнему управляемы). Вы можете использовать предложение UPDATE GLOBAL INDEXES
, чтобы сохранить индексы действительными после удаления раздела.
Локальные индексы будут разделены, как таблица, и могут быть менее эффективными, чем глобальные индексы (при сканировании диапазона индекса придется сканировать каждый локальный индекс вместо общего индекса, если вы не выполняете запрос по дате). Эти индексы не нужно обновлять после удаления раздела.