ПредишенСледващото

Разделянето на големи таблици и показатели, може да осигури следните предимства в управляемост и производителност.

Това ви позволява да бързо и ефективно да прехвърли подгрупи на данни и достъпа до тях, като същевременно се запази целостта на масива от данни. Например, такава операция като зареждане на данни на OLAP в OLTP система се извършва в секунди вместо минути или часове, както в случая на не-разпределя данни.

Сервизни операции могат да се извършват по-бързо, с един или повече секции. Операциите са по-ефективни, тъй като изпълняват само с подгрупи от данни, а не на цялата таблица. Например, възможно е да се компресира данните в една или повече части или реконструира една или повече части на индекса.

Можете да подобри производителността на заявки, в зависимост от исканията, които често се извършват във вашата хардуерна конфигурация. Например, оптимизатора на заявки може бързо да изпълнявате заявки за Равно-присъединят от две или повече разделени таблици, когато тези таблици са същите разделителни колони, защото можете да се свържете секция.

В процеса на сортиране на данни за IOPS в SQL Server първо се провежда за сортиране на данни в сектори. SQL Server може едновременно да отваряте само за едно и също устройство, което може да забави изпълнението. За да се ускори сортирането на данните се препоръчва да се разпространяват файлове с данни на множество твърди дискове, създаване на RAID дялове. По този начин, въпреки данните, за да сортирате по раздел, SQL Server може едновременно да имат достъп до всички твърди дискове на всяка секция.

Освен това, производителността може да се подобри чрез прилагане на заключване на участъци на ниво, а не на цялата таблица. Това може да намали броя на конфликт на брави за масата.

Следните термини се отнасят до масата и индекс разделяне на.

Обект на базата данни, който определя разпределението на редовете на таблицата или индекса на секции въз основа на стойностите на някои колони, колони, наречени секциониране. Това означава, че функцията дял определя броя на дяловете в таблицата, и ще се определя като границата за делба. Например, една таблица, която съдържа данни за продажбите поръчки, може да се наложи да се раздели на масата на 12 месечни сесии на ценности час и дата колона. например по дата на продажбите.

Базата данни на обект, който съпоставя секция разполага с набор от файлови групи разделяне. Основната причина, поради секции са разделени от различни файлови групи, е необходимостта от независим резервно копие на тези секции, както винаги е правил отделно за всеки един от файловете групи.

колона на функцията на маса или индекс дял се използва за разделяне на масата или индекс. Изчислени колони, участващи във функцията дял трябва да бъде изрично отбелязани като настоя. Всички типове данни, разрешени за използване като индекс на колона могат да бъдат използвани като разделителни колони с изключение на клеймото. Може да не е на видовете ntext данни. текст. изображение. XML. VARCHAR (максимум). nvarchar (макс) и VARBINARY (максимум). Също така, не можете да посочите определен от потребителя тип данни и колони от тип данни псевдоним Microsoft .NET Framework CLR за околната среда.

Индексът, който се базира на същата схема дял като този на съответната таблица. Ако таблицата и неговите показатели са изравнени, SQL Server може бързо да превключвате от раздел раздел, при запазване на структурата като таблица секции, както и своите индекси. За да се приведе в съответствие с индекс разделяне на база маса по избор се използва функцията на същото име. Въпреки това, не функция трябва да се разделя таблицата на индекс и основата да варира значително, т.е. 1) функция аргументи преградните трябва да имат същия тип данни, 2) функциите трябва да определят същия брой секции и 3) функция трябва да се определи за секциите на същите гранични стойности.

Индекс разпределя независимо от съответната таблица. Д. Index има различна схема за разделяне и не е в този файл, група, където основната маса. Създаване unaligned разделен индекс може да бъде полезна в следните случаи:

база маса не се разделя.

Основният индекс е уникален и не съдържа разделяне колона от таблицата.

базовата маса се изисква да участват в ставите в съответствие с таблици използват други колони връзки.

Процесът, чрез който оптимизатор заявка се отнася само до определени секции съгласно заявката за филтър.

Колкото по-висок максимален брой нови секции (15,000) ефект върху операции памет с разделени индекси на DBCC команди и заявки. Този раздел показва как да влияе на работата на още 1000 секции и как да се получи около проблема. Увеличаване на максималния брой секции до 15 000 за съхраняване на вече данни. Въпреки това, се препоръчва да се съхраняват данните само толкова дълго, колкото е необходимо, и да се поддържа баланс между производителност и броя на секциите.

използването на паметта и препоръки

RAM е не по-малко от 16 GB се препоръчва за голям брой точки, използвани. Ако системата не разполага с достатъчно памет може да не успее манипулация на данни езикови инструкции (DML), езикови определение данни инструкции (DDL) и други операции, поради липса на памет. При системи с 16 GB памет и голям брой процеси, памет-интензивно и не може операции, работещи на голям брой секции, поради липса на памет. Ето защо, колкото повече памет имате в повече от 16 GB, по-малко шанс на проблеми с производителността и памет.

ограничения RAM могат да засегнат ефективността или способността да се създаде разпределя индекс. Това се случва, например, когато индексът не е приведено в съответствие с базата си маса или си струпани индекс, ако има такава в таблицата.

разделена индекс операция

ограничения RAM могат да засегнат ефективността или способността да се създаде разпределя индекс. Това важи особено за unaligned индекси. Създаване и преструктуриране на необвързаните индекси за масата, броя на секциите, в които повече от 1000 са възможни, но не се поддържат. Това може да доведе до лошо изпълнение или прекомерна консумация на паметта по време на тези операции.

Създаването и прегрупирането на съответствие от индекси може да отнеме повече време, тъй като броят на секции. Не се препоръчва да се извърши на няколко команди за създаване и индекс реорганизация, тъй като може да има проблеми с производителността и памет.

Когато компонент SQL Server, извършва сортиране, за да създадете разделените индекси, той първо се създава таблица нещо за всеки раздел. Тогава той създава нещо като маса, съответстваща на файлове група, всяка секция или tempdb. Ако опцията SORT_IN_TEMPDB. За всички сортиране маси, минималният размер на RAM е необходимо. При изграждането на разделена индекс, в съответствие със своята база за маса, подредени маси са създадени един по един, прекарва скромно памет. Въпреки това, в изграждането на unaligned разделени индекси сортиране маси са създадени едновременно. В резултат на достатъчно количество памет, за да ги дръжка паралелно. Най-голям е броят на секциите, толкова повече памет е необходимо. За всяка точка на размера на вид маса е най-малко 40 страници от 8KB всеки. Например, за unaligned разделена индекс, разделена на 100 секции, размерът на RAM изисква за едновременно сортиране на 4000 страници (40 * 100). Ако такава памет е на разположение, създавайки работа ще успеем, но изпълнението може да пострада. Ако такава памет не е на разположение, експлоатация сграда ще се провали. За подравнен разделена индекс, разпределени в 100 секции, сортиране отнема само 40 страници, защото нещо не се извършват едновременно.

И двете подравнен и unaligned за индекси може да се нуждаят от повече RAM, ако SQL Server използва степента на паралелизъм да се създаде работа на многопроцесорни компютър. Въпреки по-високата степен на паралелизъм, необходими толкова повече памет. Например, ако SQL Server установява степента на паралелизъм е 4, на unaligned разпределя индекса с 100 части изискват памет четири процесори може едновременно вид 4000 страници, че е 16,000 страници. Ако разпределя индекс е подравнен, изискванията за памет са намалени до 40 страници за всеки от четирите процесори, т.е. 160 страници (4 х 40). Използване индекс параметър MAXDOP може ръчно да се намали степента на успоредност.

DBCC команда

С повече секции инструкция изпълнение DBCC може да отнеме повече време, тъй като броя на секциите.

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

Да приемем маса е 100 милиона редове и колони на А. В и С. В примера от Таблица 1 е разделена на 1000 части на колона А. В примера на таблица 2 е разделена на секции в колона 10 000 А. маса Запитване съдържащ КЪДЕТО оферта филтрува чрез колонна A. изпълнява функция за премахване на секции и една секция сканирането. Същото искане може да се направи по-бързо в пример 2, тъй като по-малко линии в секцията за сканиране. Заявка включващ КЪДЕ филтър оферта съгласно колона Б, ще сканира всички раздели. В пример 1, това искане може да се направи по-бързо, отколкото в пример 2, тъй като в този случай по-малки секции за сканиране.

Искане в които тези оператори като TOP или MAX / MIN, се използват за всички графи с изключение на колони разделяне може да доведе до намаляване на ефективността при разделяне, тъй като всички секции трябва да се изчисли.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!