Построение индексов – часть 6: построение секционированного индекса (Partitioned Index)

?????????? ??? ???????? ????????? ???????????????? ????????:

  • ??????????? (????? ??????? ??????? ? ?????? ?????????? ?????????? ??????? ???????????????)
  • ????????????? (????? ??????? ??????? ? ?????? ?????????? ?????? ??????? ??????????????? (??????? ??????, ????? ??????? ??????? ?????? ?? ??????????????, ? ?????? ?????????????).

(??. ???? ?????????? ???????? - ????? 2 (???????????????? ???????)

 

?????????? ??????????? ???????????????? ???????? 

???????????????? ?????????? ??????????? ???????????????? ????????

     NL

                / \

             ???   ???????????

                           \

                        [??????????]

                             \

                          ????????????

 

???: ?????????? ????????? ???? (the purpose of CTS is to provide partition IDs for index builder)

NL: Nested Loop (????????? ????)

 

??? ????????????? ID ?????? ?????????? ??????? Nested Loop-?, ??????? ?????? ?????? ??? ?????? ??????. ????????????? ????????? ?????????? ????????? ??? ?????? ??????, ?? ??? ??? ?? ??????? ?? ??????????????? (???? ?? ?????) ? ????????????? ?????? ??????? ?? ?????? ??????????????? ??? ?????? ??????, ??? ?? ????? ??????? ??? ??? ????????????? ????????? ?????????? ????????????.

??? ??? ?????? ?? ?????????? ? ?????????? ????????? ????????????:

- ? ?????? ?????????? ? ???????????????? ???? ?????? (????????? ?? ?????????) ?????????? ?????????? ? ?????? filegroup ??? ?????? ??????????????? ??????. ??? ????????, ??? ?????? ???????? ?????? ?????? ????? ?? ?? 2.2*(?????? ??????) ?????????? ????????? ???????????? ??? ????, ????? ????? ???? ????????? ??????.

      ?????? :

??????? 3 ?????? ????????????? ? ???????? ??????? FG1, FG2, FG3. ?????? ????????? ?????? (?????????????? ??? ?????? ??????) – 1Gb, 2Gb ? 3Gb. ? ???? ?????? ???????????: 2.2*1 = 2.2Gb ?????????? ???????????? ? FG1; 2.2*2 = 4.4Gb ?????????? ???????????? ? FG2, 2.2*3 = 6.6Gb ?????????? ???????????? ? FG3. ????? ???????, ????? ?????? ?????????? ????????? ????????????, ???????????? ? ???? ?????? - 9.9Gb.

- ? ?????? ?????????? ? tempdb (SORT_IN_TEMPDB = ON) ????????? ???????????? ? tempdb ????? ?????????????????? ??? ?????????? ?????? ?????? ??? ??? ?????????? ?????? ?????????? ??????????????? ???? ?? ?????, ??????????? ?????? 2.2*(?????? ?????????? ??????) ?????????? ????????? ???????????? ? tempdb.

      ?????? :

??????? ?????? ????????????? ????: ??????? 3 ?????? ????????????? ? ???????? ??????? FG1, FG2, FG3. ?????? ????????? ?????? (?????????????? ??? ?????? ??????) – 1Gb, 2Gb ? 3Gb. ? ???? ?????? ???????????: 3.3Gb ?????????? ????????? ???????????? ? tempdb.

 

????????? ??????????? ?? ????????????? ??????:

 ??? ??? ? ???? ? ???? ????? ?????????? ?????? ???? ????????????? ????????? ??????????, ??????????? 40 ??????? ?????? (??????????? ??????), ????? ?????? ?????????? ???????. 40 ??????? – ??? ??????????? ??????????.

????? ????? ?????? = ?????????? ????????? ?????? + ?????????????? ??????*.

* ?????????????? ?????? ????????????? ??? ?????? calculated as ?????? ?????????? ?? ?????????????? ?????????? ?????, ??????????????? ????????????? ????????.

 

??????? ? ????????? ?????? ? ???????????? ?????????? ???????????? ????????????????? ??????? J