Построение индексов – часть 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, если судить по индексу.