Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не пойму в каких секциях лежат данные  [new]
giir
Member

Откуда:
Сообщений: 10
для таблицы убил кластерный индекс на Id, и создал кластерный секционный индекс на столбец секционирования (каждая секция в своей файловой группе и дата-файле).
выполняю "запрос-сводку" по секциям

SELECT
     tbl.name tbl_name,
     dts.type_desc + ISNULL('-> ' + dts2.type_desc, '') dts_type,
     prt.partition_number,
     prt.rows,
     prv.value low_boundary,
     prs.name part_scheme_name,
     pfs.name part_func_name
FROM sys.tables tbl
JOIN sys.indexes idx ON idx.object_id = tbl.object_id
JOIN sys.data_spaces dts ON dts.data_space_id = idx.data_space_id
JOIN sys.partitions prt ON prt.object_id = tbl.object_id AND prt.index_id = idx.index_id
LEFT JOIN sys.partition_schemes prs ON prs.data_space_id = dts.data_space_id
LEFT JOIN sys.partition_functions pfs ON pfs.function_id = prs.function_id
LEFT JOIN sys.partition_range_values prv ON
      prv.function_id = pfs.function_id AND prv.boundary_id = prt.partition_number - 1
LEFT JOIN sys.destination_data_spaces dds ON
      dds.partition_scheme_id = prs.data_space_id    AND dds.destination_id = prt.partition_number
LEFT JOIN sys.data_spaces dts2 ON dts2.data_space_id = dds.data_space_id
where tbl.object_id=object_id('dbo.DataCell')


получаю в столбце rows для секций, количество записей из секции (тут вроде все сходится) вида:
tbl_name DataCell
dts_type PARTITION_SCHEME-> ROWS_FILEGROUP
partition_number 2 (номер секции)
rows 259596 (кол-во записей в секции)
low_boundary 85C7DB02-E205-41F6-9AF0-0245D9C3E160 (условие секционирования)
part_scheme_name DataCellEsPs (схема секционирования)
part_func_name DataCellEsPf (функция секционирования)

+ получаю строку для первичной файловой группы
tbl_name DataCell
dts_type ROWS_FILEGROUP
partition_number 1
rows 8830445
low_boundary NULL
part_scheme_name NULL
part_func_name NULL

Вопрос:
в таблице всего 8830445 записей, получается записи присутствуют не только в своих секциях, но и дублируются в первичной группе?
13 мар 14, 11:56    [15716040]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму в каких секциях лежат данные  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Если не ошибаюсь, такую штуку Вы получите при секционированных индексах, а не таблице.
13 мар 14, 12:09    [15716168]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму в каких секциях лежат данные  [new]
giir
Member

Откуда:
Сообщений: 10
т.е. данные получается не секционированы только индексы?
и разве создание КЛАСТЕРНОГО секционного индекса не идентично созданию секционированию данных в таблице
13 мар 14, 12:13    [15716204]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму в каких секциях лежат данные  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Простой эксперимент показывает, что если я создаю кластерный индекс вида
create clustered index ci1 on test.test (f1) on universal_datewhen_scheme(f1)

то ROWS_FILEGROUP не остается.
13 мар 14, 12:25    [15716340]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить