Груписани вс некластерисани индекс: кључне разлике са примером

Преглед садржаја:

Anonim

Шта је индекс?

Индекс је кључ изграђен из једне или више колона у бази података који убрзава дохватање редова из табеле или погледа. Овај кључ помаже бази података као што су Орацле, СКЛ Сервер, МиСКЛ итд. Да брзо пронађу ред повезан са вредностима кључа.

Двије врсте индекса су:

  • Груписани индекс
  • Некластерисани индекс

У овом упутству ћете научити:

  • Шта је индекс?
  • Шта је груписани индекс?
  • Шта је некластер индекс?
  • Карактеристично за кластерисани индекс
  • Карактеристике некластерисаних индекса
  • Пример кластер индекса
  • Пример некластерног индекса
  • Разлике између груписаних индекса и некластерисаних индекса
  • Предности кластерисаног индекса
  • Предности некластеризованог индекса
  • Мане груписаних индекса
  • Недостаци некластерисаног индекса

Шта је груписани индекс?

Индекс кластера је врста индекса који сортира редове података у табели према њиховим кључним вредностима. У бази података постоји само један кластер индекс по табели.

Кластерисани индекс дефинише редослед по којем се подаци чувају у табели који се могу сортирати само на један начин. Дакле, за сваку табелу може постојати само један кластер индекс. У РДБМС, примарни кључ вам омогућава да креирате кластер индекс на основу те одређене колоне.

Шта је некластер индекс?

Некластерисани индекс чува податке на једној локацији, а индексе на другој локацији. Индекс садржи показиваче на локацију тих података. Једна табела може имати много некластерисаних индекса јер се индекс у некластерисаном индексу чува на различитим местима.

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

Индекс некластерисања је дефинисан у пољу за неуређивање табеле. Ова врста методе индексирања помаже вам да побољшате перформансе упита који користе кључеве који нису додељени као примарни кључ. Некластерисани индекс вам омогућава да додате јединствени кључ за табелу.

КЉУЧНА РАЗЛИКА

  • Индекс кластера је врста индекса који сортира редове података у табели према њиховим кључним вредностима, док некластерисани индекс складишти податке на једној локацији, а индексе на другој локацији.
  • Скупљени индекс складишти странице података у чворовима листа индекса, док некластерисана метода индекса никада не чува странице података у чворовима листа индекса.
  • Индекс кластера не захтева додатни простор на диску, док некластерирани индекс захтева додатни простор на диску.
  • Кластер индекс нуди бржи приступ подацима, с друге стране, некластерисани индекс је спорији.

Карактеристично за кластерисани индекс

  • Подразумевано и сортирано складиште података
  • За индекс користите само једну или више колона
  • Помаже вам да заједно складиштите податке и индекс
  • Фрагментација
  • Операције
  • Скупљено скенирање индекса и тражење индекса
  • Претраживање кључева

Карактеристике некластерисаних индекса

  • Чувајте само вредности кључева
  • Показивачи на редове гомиле / кластерисани индекс
  • Омогућава секундарни приступ подацима
  • Премости податке
  • Операције индексног скенирања и индексног тражења
  • Можете створити несврстани индекс за табелу или приказ
  • Сваки ред индекса у несврстаном индексу чува некластерирану вредност кључа и локатор реда

Пример кластер индекса

У доњем примеру, СалесОрдерДетаилИД је кластер индекс. Узорак упита за преузимање података

SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6

Пример некластерног индекса

У примеру испод, креира се некластерисани индекс на ОрдерКти и ПродуцтИД на следећи начин

CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)

Следећи упит ће се добити брже у поређењу са кластер индексом.

SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714

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

Параметри Груписано Негруписани
Користити за Можете сортирати записе и кластеризирани индекс физички похранити у меморију према наруџби. Некластерисани индекс помаже вам да креирате логички редослед за редове података и користи показиваче за физичке датотеке података.
Метод чувања Омогућава вам да странице са подацима складиштите у лисним чворовима индекса. Ова метода индексирања никада не похрањује странице података у чворове листова индекса.
Величина Величина кластер индекса је прилично велика. Величина некластерисаног индекса је мала у поређењу са кластерисаним индексом.
Приступ подацима Брже Спорије у поређењу са кластер индексом
Додатни простор на диску Није обавезно Обавезно за чување индекса
Тип кључа Примарни тастери табеле подразумевано су кластерисани индекс. Може се користити са јединственим ограничењем на столу који делује као сложени кључ.
Основна карактеристика Груписани индекс може побољшати перформансе претраживања података. Требало би да се креира на колонама које се користе у спајањима.

Предности кластерисаног индекса

Предности / користи кластер индекса су:

  • Груписани индекси су идеална опција за опсег или груписање са упитима типа мак, мин, цоунт
  • У овом типу индекса, претрага може ићи директно до одређене тачке података тако да одатле можете даље читати у секвенци.
  • Кластерисана метода индекса користи механизам локације за лоцирање уноса индекса на почетку распона.
  • То је ефикасан метод за претрагу опсега када се тражи опсег вредности кључа за претрагу.
  • Помаже вам да смањите преносе страница и повећате поготке кеш меморије.

Предности некластеризованог индекса

Предности коришћења некластеризованог индекса су:

  • Индекс који се не групише помаже вам да брзо дохватите податке из табеле базе података.
  • Помаже вам да избегнете опште трошкове повезане са кластерисаним индексом
  • Табела може имати више некластерних индекса у РДБМС. Дакле, може се користити за стварање више од једног индекса.

Мане груписаних индекса

Ево слабости / недостатака коришћења кластер индекса:

  • Много уметака у нередном редоследу
  • Кластерисани индекс ствара пуно сталних дељења страница, што укључује страницу података као и странице индекса.
  • Додатни посао за СКЛ за уметања, ажурирања и брисања.
  • Кластер индексу треба више времена да ажурира записе када се промене поља у кластер индексу.
  • Чворови листа углавном садрже странице података у кластерисаном индексу.

Недостаци некластерисаног индекса

Ево слабости / недостатака употребе некластерисаних индекса:

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