Построение индексов – часть 6: построение секционированного индекса (Продолжение – Невыровненные индексы)
???????????? ?????????? ????????????? ???????????????? ????????
? ????? ?? ?????????? ?????? ? ??????, ??? ?????????? ??? ????????? ???????????????? ????????:
- ??????????? (????? ??????? ??????? ? ?????? ?????????? ?????????? ??????? ???????????????)
- ????????????? (????? ??????? ??????? ? ?????? ?????????? ?????????? ??????? ??????????????? (??????? ??????, ????? ??????? ??????? ?????? ?? ??????????????, ? ?????? ?????????????).
?????? ????? ?????????? ? ?????? ?????? – ????????????? ???????????????? ????????. ????? ?????????? ??? ????????? ????????:
- ??????? ??????? ?? ??????????????, ? ?????? ?????????????;
- ??????? ??????? ? ?????? ?????????? ?????? ??????? ???????????????
??????? ??????? ?? ??????????????, ? ?????? ?????????????:
??????:
Create Partition Function pf (int)
as range right for values (1, 100, 1000)
Create Partition Scheme ps as Partition pf
TO ([PRIMARY], [FileGroup1], [FileGroup1], [FileGroup1])
Create table t (c1 int, c2 int)
Create clustered Index idx_t on t(c1) on ps(c1) <--?????????? ??????????????????? ???????
???? ?????????? ??????? ? ???? ?????? ???????? ??????:
???????????
|
??????????
|
????????????
??? ?????? ?????? ?????? ??????? ????????? ???? ????????????? ????????? ?????????? (? ??????? ????, ????????? ?????? ?????? ??????? – ?????? ????? ??????? ?????? ????????????? ????????? ??????????). ?? ?????????, ???????????? ???????????????? ???? ?????? ??? ?????? ????????????? ??????????? ??????????. ??? ??? ???????????, ?????? ??????? ?????? ?????????????? ??? ???????? ????????????? ????????????? ???????? ?????????????, ??? ?????? ??? ?????? ?? ???? ????? ????????? ? ?????? ???????. ????? ???????, ????? ????? ????????? ???????????? (? ??????, ???? ?????????? ? ?????? ??????????), ???????????? ??? ?????????? ??????? ??????????? ? 3? («????» + ????????????? ???????? + ?????? ???????) ?? 2,2? (??????????????).
????? ???????, ? ?????? ?????????? ? ???????????????? ???? ?????? ?????????? ?????????? ? ?????? filegroup ??? ?????? ??????????????? ??????. ??? ????????, ??? ?????? ???????? ?????? ?????? ????? ?? ?? 2.2*(?????? ??????) ?????????? ????????? ???????????? ??? ????, ????? ????? ???? ????????? ??????. ? ? ?????? ?????????? ? tempdb, ????????? 2.2*(?????? ????? ???????) ?????????? ???????????? ? tempdb.
??????????? ??????? ????? ?????? ????????? ?????? ? ?????? ??????? ????? ????, ??? ??????? ????????????? ????????????? ????????? ??? ???? ??????. ????? ???????, ???????????? ????? ???????????? ????????????? ????????? ??? ???? ??????. ??? ??? ??????????, ?????? ????? ????????? ??????? ??? ??????? 40 ??????? ??????. ? ?????, ??????????? ????????? ?????? ?????????? - ??????? * 40 ???????.
? ?????? ????????????? ??????????, ????? ???????? ????????? ???????:
X
|
???????????
|
??????????
|
????????????
?????? ??????????? ???????? ??? ?????????? ????? ?????? ?????? ???????/DOP. ?????? ??????????? ????????? ?????? ???? ??? ? ????????? ?????? ????????????? ??? ???????, ??????? ????? ????? ????????? ? ??????????????? ????????? ??????????.
????? ????, ??? ??? ????????????? ????????? ?????????, ??????????? ???????? ??????? ?????? ???????, ??????? ???? ?? ?????? ????????????? ????????? ?????????? ?, ????? b-?????? ? ???????? ?????? ?????? ??????. ???? ?????? ?? ????? ???? ???????????? ????? ??????????? ?????????????.
?????????? ? ?????? ? ????????? ????????????, ? ???? ??????, ????? ????? ??, ??? ? ??? ????????????????? ??????????. ??? ?????????? ??????, ??? ? ????? ??????? ?? ?? ????? ?????? ?????????? ?????????? b-??????, ???? ?? ????????? ??? ????????????? ????????? ??????????.
??????? ? ????????? ?????? ? ?????????? ?? ???????????? ????????????????? ??????? ? ??????, ????? ??????? ??????? ? ?????? ?????????? ?????? ??????? ??????????????? J
Comments
- Anonymous
January 01, 2003
Здравствуйте, Людмила! У вас очень интересный блог! Однако один момент в этой заметке остался для меня неясным. >>Create table t (c1 int, c2 int) on ps(c2) >>Create clustered Index idx_t on t(c1) on ps(c1) В вашем примере строится кластерный невыровненный индекс? Я думал, что кластерные индексы всегда выровненные, раз они хранятся вместе с данными. Например если я выполню вставку insert t values(2, 101), то получится, что одна и та же запись будет находится в секции 3, если судить по данным, и в секции 2, если судить по индексу.