4 значајне разлике између табела гомиле и груписаних табела у SQL Server

Подели сада:

Следећи чланак објашњава кључне разлике између Хеап табела и кластеризованих табела.

Док радите са табелама у SQL Server, корисници се често суочавају са дилемом да користе груписане табеле или хеап табеле. Табеле које немају груписане индексе називају се табеле гомиле, а оне које имају груписане индексе називају се кластеризоване табеле. Кластеризовани индекс у основи мења начин на који се записи физички чувају у табели. Странице са подацима су садржане у листовима чворова груписаног индекса.

Разлике између табела гомиле и груписаних табела

У чланку се детаљније говори о ова два типа табела.

Груписане и хеап табеле

Груписане табеле пружају корисницима више предности од хеап табела јер помажу корисницима у коришћењу индекса да брже пронађу редове од табела гомиле и физички складиште податке/записе поновним изградњом кластеризованог индекса.

Ваши физички подаци могу постати фрагментирани ако има више активности ИНСЕРТ, ДЕЛЕТЕ и УПДАТЕ у односу на табеле у вашим подацима. Познато је да фрагментирани подаци могу додати изгубљени и непожељни простор јер ако покренете упит он мора да прочита још неколико страница јер сада има више делимично пуних страница. Хајде да пронађемо начине да решимо проблем фрагментације података.

Разлика између гомиле и груписане табеле

Проблем фрагментације се може решити утврђивањем потребе за кластеризованим индексом у вашој табели или не. На крају крајева, кластеризовани или хеап индекс регулише физичко складиштење ваше табеле. Свака табела у вашој бази података може имати само један тип индекса. Да бисмо направили избор, морамо разумети основне разлике између ова два, а то су следеће.

  1. У хрпи, не постоји редослед у складиштењу података, али у груписаном, складиштење података има редослед у зависности од кластеризованог индексног кључа. 
  2. Странице са подацима нису повезане у хрпи, док су у груписаној табели повезане и постоји бржи секвенцијални приступ.
  3. Хрпа има 0 вредности индек_ид, а груписана има 1 вредност индек_ид за приказ каталога сис.индекес
  4. Груписани индекс преузима податке брже од табеле гомиле пошто постоји кључ груписаног индекса

Фрагментација

На основу разлика између кластеризованих и хеап табела може се решити проблем фрагментације. Фрагментација се дешава због употребе активности ИНСЕРТ, ДЕЛЕТЕ и УПДАТЕ. Међутим, ако имате Хеап Табле и постоји само активност ИНСЕРТ, тада неће доћи до фрагментације. Ако користите секвенцијални индексни кључ (вредност идентитета) и имате само ИНСЕРТС, онда се ваш кластеризовани индекс неће фрагментирати. Али ако користите много ИНСЕРТ-ова или ДЕЛЕТЕС онда ће табеле постати фрагментиране.

Зато се саветује да користите кластеризовани индекс јер зависи од индексног кључа и троши мање простора. Нови записи се могу уписивати на већ постојеће странице у слободном простору.

Да бисте утврдили употребу било гомиле или груписане табеле, такође можете покушати да покренете ДБЦЦ СХОВЦОНТИГ или нови ДМВ јер обе ове команде могу да вам дају увид у проблеме фрагментације у вашим табелама. У груписаној табели, фрагментација се може решити реорганизацијом или поновном изградњом вашег кластеризованог индекса.    

Улагање у а SQL Server поправити алат је обавезан за компаније које користе МС SQL Server базе података на њиховим производним серверима. У ствари, може се показати као спас у случају пада базе података.

Увод аутора:

Виктор Симон је стручњак за опоравак података DataNumen, Инц., који је светски лидер у технологијама за опоравак података, укључујући поправити мдб и скл софтверски производи за опоравак. За више информација посетите https://www.datanumen.com/

Подели сада:

Један одговор на „4 значајне разлике између табела гомиле и груписаних табела у SQL Server"

Ostavite komentar

Ваша емаил адреса неће бити објављена. Obavezna polja su označena *