У меня есть база данных, состоящая из нескольких тысяч таблиц (с 2005 года), где около 20-30% из них имеют инкрементный ряд строк около 200 тыс./Год.SQL Server Partitioning - Notation
Требование состоит в том, чтобы визуализировать статистику таблицы на основе столбца lastAccessedDate
. Схема состоит в классификации в группы пассивов (10 y, 5y, 3y, 1y, 6m, 3m, 1m, 2w, currentDate)
. Скажем, что разделы называются p1,p2,..p10
Я могу понять, что для групп link можно определить несколько групп разбиения.
Работа выполняется каждую неделю, и поэтому схема разбиения зависит от текущей даты; т. е. через неделю p10
становится p9
. Через две недели p9
становится p8
и через месяц p8
становится p7
; Надеюсь, вы поняли эту идею.
- Возможна ли схема разбиения на основе текущей даты?
- Если это возможно, стоит ли горизонтально разбивать таблицы и запрашивать их вместо выполнения запроса по всей таблице? В отчетах SQL Server общее использование пространства составляет около 31 556 МБ.
Я запускаю это на экземпляре SQL Server 2008.
Почему вы хотите визуализировать статистику? Определить схему разделения? Чего вы надеетесь достичь путем разбиения? читать улучшение производительности? повысить производительность записи? Для этого вам нужно создать свой раздел. Если вы не читаете или не пишете данные, основанные на упомянутых вами разделах даты, они действительно не служат никакой цели. –
Текущая идея или требование подобны системе MRU, подобной системе для базы данных SQL. В этом экземпляре проекта более старые данные, по всей вероятности, будут доступны. Чтобы ускорить чтение запросов, связанных с новыми данными, я должен это сделать. – dmachop