У нас есть большая база данных (> 1 ТБ), которую мы намерены «сжать». База данных вращается вокруг одного основного объекта, назовем его «Визит». Для обсуждения, скажем, это база данных для медицинской практики.
Всего существует 30 «типов» посещений, таких как процедура, ежегодное обследование, последующее наблюдение, иммунизация и т. Д., Каждый из которых является вспомогательной таблицей «Визит», например, «визит_иммуно».
База данных накопила около 12 лет данных с 2000 года. Кто-то предложил сохранить данные за 3 года в «живой» версии, а остальные - в базе данных «old_data». Дата хранится ТОЛЬКО в таблице посещений, поскольку она нормализована. Таблица посещений также содержит ROWVERSION
столбец и столбец BIGINT
псевдоидентификации (кластеризованный). Допустим, для всех целей и задач ключ кластеризации заполняется SEQUENCE (SQL Server 2012 Enterprise) - назовем его cid
.
Он visit.date
не всегда находится в том же порядке, что и ключ кластеризации, например, когда врач часто посещает и возвращается со своим «портфелем» данных, он объединяется в основную таблицу. Есть также некоторые обновления для «визита» таблицы , которая заставит ROWVERSION
столбец быть синхронизированы с обеими cid
и date
столбцами - попросту говоря, ни ROWVERSION
ни cid
был сделать соответствующие ключи разделов по этой причине.
Бизнес-правило для удаления данных из «живого» заключается в том, что visit.date
должно быть больше 36 месяцев иvisit_payment
должна существовать дочерняя запись. Кроме того, база данных «old_data» не содержит никаких базовых таблиц, кроме visit%
.
Итак, мы заканчиваем с:
Live DB (ежедневное использование) - все таблицы Old-Data DB - более старые данные для visit%
таблиц
В предложении предлагается объединенная БД, представляющая собой оболочку, содержащую синонимы для ВСЕХ базовых таблиц в Live DB
(кроме visit%
) и представлениях, которые СОЕДИНЯЮТСЯ ВСЕМ по всем visit%
таблицам в двух базах данных.
Предполагая , что одни и те же индексы , которые создаются в Old-Data
БД, будут запросы хорошо выполнять на UNION-ALL Просмотров ? Какой типа шаблонов запросов может подножку плана выполнения для UNION-ALL Просмотров ?