Орацле Цреате Индек

Oracle Create Indek



У Орацле базама података, индекс се односи на структуру података која унапређује брзину операција преузимања података у табели базе података. Међутим, ово може довести до казне додатних операција писања и простора за складиштење у вашој бази података.

Један пример где би индекс базе података био користан је у систему управљања односима са клијентима.







У таквом систему можемо имати табелу базе података која чува информације о клијентима. Ово може укључивати име, адресу, начине плаћања, контакт информације итд.



Ако табела садржи много записа, можда милионе њих, може потрајати много времена и ресурса за тражење одређених информација о клијентима из базе података. Ово је негативна појава, посебно у базама података у којима је учинак критичан.



Да бисмо ово заобишли, можемо користити индекс базе података.





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

У овом водичу ћете научити како да користите наредбу ЦРЕАТЕ ИНДЕКС у Орацле бази података да бисте иницијализовали нови индекс.



Орацле Цреате Индек Статемент

У наставку је приказана синтакса наредбе ЦРЕАТЕ ИНДЕКС у Орацле базама података:

ЦРЕАТЕ ИНДЕКС име_индекса
ОН име_табеле (колона1, колона2, ...);

Горња синтакса креира индекс под називом индек_наме на табели са именом табле_наме користећи наведене колоне (колона1, колона2, итд.) као кључ за индекс.

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

Међутим, у неким случајевима, можда ћете морати ручно да креирате нови индекс за одређену табелу.

Хајде да погледамо неке примере како то можемо да постигнемо.

Пример Орацле креирања индекса

Претпоставимо да имамо табелу која садржи информације о запосленима као што је приказано у излазу испод:

изаберите име, презиме, плату, датум запослења од ЗАПОСЛЕНИХ;

Орацле Креирај индекс за једну колону

Претпоставимо да желимо да креирамо индекс користећи колону фирст_наме. Можемо покренути упит као што је приказано:

креирајте индекс фирст_наме_лоокуп на ЕМПЛОИЕЕС(ФИРСТ_НАМЕ);

Ова изјава ЦРЕАТЕ ИНДЕКС креира индекс под називом фирст_наме_лоокуп у табели ЕМПЛОИЕЕС, користећи колону ФИРСТ_НАМЕ као кључ за индекс. Овај индекс се може користити за побољшање перформанси упита који траже запослене по имену.

Када креирамо индекс, можемо га користити за претрагу одређеног запосленог као што је приказано:

СЕЛЕЦТ име, презиме, плата, датум запослења
ОД запослених
ВХЕРЕ фирст_наме = 'Вилијам';

резултат:

Без индекса фирст_наме_лоокуп, систем базе података би морао да скенира целу табелу ЕМПЛОИЕЕС да пронађе све редове у којима је колона ФИРСТ_НАМЕ једнака 'Виллиам'. Међутим, са индексом на месту, систем базе података може брзо да потражи редове у редовима у табели. индекс користећи вредност 'Јохн' као кључ, а затим преузмите тражене редове из табеле, што ће бити много брже.

Кораке који се користе приликом постављања упита можете видети помоћу команде плана објашњења као што је приказано:

објасни план за СЕЛЕЦТ име, презиме, плата, датум запошљавања
ОД запослених
ВХЕРЕ фирст_наме = 'Вилијам';

Добијени план упита:

Пример 2 – Орацле креира индекс са више колона

Слично томе, можемо креирати индекс који се састоји од више од једне колоне у датој табели. На пример, претпоставимо да желимо да креирамо индекс који се састоји од колоне фирст_наме и ласт_наме.

Можемо користити код као што је приказано:

креирајте индексну мулти_лоокуп на ЕМПЛОИЕЕС(ФИРСТ_НАМЕ, ЛАСТ_НАМЕ);

Ова изјава ЦРЕАТЕ ИНДЕКС креира индекс под називом мулти_лоокуп у табели ЕМПЛОИЕЕС, користећи колоне ФИРСТ_НАМЕ и ЛАСТ_НАМЕ као кључ за индекс.

Једном креиран, можемо користити овај индекс као што је приказано у узорку упита као што је приказано:

СЕЛЕЦТ име, презиме, плата, датум запослења
ОД запослених
ВХЕРЕ фирст_наме = 'Вилијам' АНД ласт_наме = 'Смит';

Добијена вредност:

И ту, имате метод за убрзавање упита базе података коришћењем индекса за ограничавање опсега претраге.

Закључак

Наредба ЦРЕАТЕ ИНДЕКС у Орацле-у нам омогућава да креирамо индекс на табели да бисмо побољшали перформансе операција преузимања података. Међутим, иако индекси могу побољшати перформансе упита, они такође подлежу кажњавању простора за складиштење, што доводи до смањених операција брзине писања, користите их само када је то неопходно.