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