Сценарий:
- две базы данных: DB_A и DB_Archive с одной очень большой таблицей с именем tableA.
- каждый день записи старше 60 дней удаляются из DB_A и перемещаются в DB_Archive, главным образом, чтобы оставить вещь «отделенной», потому что tableA активно запрашивается в DB_A для записей за последние 2 месяца.
Я хочу избавиться от этого процесса, потому что он медленный и потребляет много ресурсов. Я думаю о реализации разбиения таблиц в DB_A с помощью функции секционирования в столбце даты и хранения всех записей <2 месяца в одном разделе и всех записей> 2 месяцев в другом разделе. Мои вопросы:
- будет ли этот сценарий вести себя так, как если бы у меня было 2 разные базы данных? Если я запрашиваю в своей таблице A записи> getdate () - 30, будет ли он читать раздел архивации?
- Я должен был разделить индексы, верно?
- Как мне справиться с тем фактом, что завтра моя функция разбиения «изменится», я имею в виду, если я создам функцию сегодня (2 июля, ее диапазон будет 2 мая, а завтра будет 3 мая). Могу ли я создать функцию динамического разбиения?