У нас є ця велика база даних (> 1 ТБ), яку ми маємо намір "скоротити". База даних обертається навколо однієї основної сутності, назвемо її "Відвідати". Для обговорення скажімо, що це база даних для медичної практики.
Всього існує 30 типів візитів, таких як процедура, щорічні, подальші спостереження, імунізація тощо, кожен з яких є допоміжною таблицею для "відвідування", наприклад, "visit_immuno".
База даних накопичила приблизно 12 років даних з 2000 року. Хтось запропонував нам тричі три роки зберігати дані у "живій" версії, а решта жити у базі даних "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%.
Отже, ми закінчуємо:
Жива БД (щоденне використання) - Усі таблиці БД старих даних - старі дані для visit%таблиць
Пропозиція вимагає створення комбінованої БД, яка є оболонкою, що містить синоніми до ВСІХ базових таблиць Live DB(крім visit%), а також перегляди, які ОБ'ЄДНУЮТЬ ВСІ в visit%таблицях у двох базах даних.
Припускаючи , що одні і ті ж індекси , які створюються в Old-DataБД, будуть запити добре виконувати на UNION-ALL Переглядів ? Який типу шаблонів запитів може підніжку плану виконання для UNION-ALL Переглядів ?