многораздельный индекс для однораздельной таблицы - PullRequest
0 голосов
/ 18 февраля 2011

Как создать секционированный индекс для таблицы, которая не секционирована, хотя есть функция и схема секционирования. Это упражнение, которое я где-то читал, а не настоящая проблема

create partition function func(datetime)
as range right for values
('20040601', '20050601')
go
create partition scheme scheme1
as partition func
to ('primary')
go

create table student
(
studentid int not null primary key nonclustered,
firstname varchar(30) not null,
date datetime not null
)

я думал о

create clustered index IX_StudentID_Date
on student(studentid, date)

но таблица не секционирована, так как создать индекс, не секционируя таблицу?

1 Ответ

1 голос
/ 18 февраля 2011

Когда вы разделяете «таблицу», вы фактически разделяете кластерный индекс.Таким образом, разделение некластеризованного индекса на самом деле аналогично разделению «таблицы»

    CREATE NONCLUSTERED INDEX IX_StudentID_Date 
        ON student(studentid, date) 
        ON scheme1(date)   

, вам просто нужно убедиться, что поле раздела является частью индекса.

...