ПостгреСКЛ

Како направити индексе у ПостгреСКЛ-у

Како направити индексе у ПостгреСКЛ-у

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

Општа синтакса

Следећа општа синтакса користи се за креирање индекса.

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

Да бисте започели рад на индексима, отворите пгАдмин Постгрескла са траке апликација. У наставку ћете пронаћи опцију „Сервери“. Кликните десним тастером миша на ову опцију и повежите је са базом података.

Као што видите, база података „Тест“ наведена је у опцији „Базе података“. Ако је немате, кликните десним тастером миша на „Базе података“, дођите до опције „Направи“ и именујте базу података према својим жељама.

Проширите опцију „Шеме“ и тамо ћете пронаћи опцију „Табеле“. Ако га немате, кликните десним тастером миша, дођите до „Направи“ и кликните на опцију „Табела“ да бисте креирали нову табелу. Пошто смо већ креирали табелу 'емп', можете је видети на листи.

Покушајте са СЕЛЕЦТ упитом у уређивачу упита да бисте преузели записе табеле 'емп', као што је приказано доле.

>> ОДАБЕРИ * ИЗ јавног.ПОРУЧИТЕ ПО „ид“ АСЦ;

Следећи подаци биће у табели 'емп'.

Направите индексе са једним ступцем

Проширите табелу 'емп' да бисте пронашли разне категорије, е.г., Колоне, ограничења, индекси итд. Кликните десним тастером миша на „Индекси“, дођите до опције „Направи“ и кликните на „Индекс“ да бисте креирали нови индекс.

Направите индекс за дату табелу 'емп' или приказ који се појављује помоћу дијалошког прозора Индекс. Овде постоје две картице: „Опште“ и „Дефиниција“.„На картици„ Опште “у поље„ Име “унесите одређени наслов за нови индекс. Изаберите „простор табела“ под којим ће се нови индекс чувати помоћу падајуће листе поред „Простор табеле“.„Као у области„ Коментар “, овде и индексирајте коментаре. Да бисте започели овај процес, идите на картицу „Дефиниција“.

Овде наведите „Начин приступа“ избором типа индекса. Након тога, да бисте креирали свој индекс као „Јединствен“, тамо је наведено неколико других опција. У подручју „Колоне“ додирните знак „+“ и додајте имена колона која ће се користити за индексирање. Као што видите, индексирање смо примењивали само на колону „Телефон“. За почетак одаберите СКЛ одељак.

Картица СКЛ приказује СКЛ наредбу коју су креирали ваши уноси током дијалога Индекс. Кликните на дугме „Сачувај“ да бисте креирали индекс.

Поново идите на опцију „Табеле“ и идите до табеле „емп“. Освежите опцију 'Индекси' и у њој ћете пронаћи новостворени индекс 'индек_он_пхоне'.

Сада ћемо извршити наредбу ЕКСПЛАИН СЕЛЕЦТ да бисмо проверили резултате индекса клаузулом ВХЕРЕ. То ће резултирати следећим излазом, који каже, 'Сек Сцан он емп.„Можда се питате зашто се то догодило док користите индексе.

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

Направите вишеструке индексе колона

Да бисте креирали индексе са више колона, отворите љуску командне линије и размотрите следећу табелу 'студент' да бисте започели рад на индексима са више колона.

>> ОДАБЕРИ * ИЗ студента;

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

>> СТВОРИ ИНДЕКС нев_индек НА Студент (снаме, доб);

Сада ћемо навести својства и атрибуте новоствореног индекса 'нев_индек' помоћу команде '\ д'. Као што видите на слици, ово је индекс типа бтрее који је примењен на колоне 'снаме' и 'аге'.

>> \ д нев_индек;

Направите ЈЕДИНСТВЕНИ индекс

Да бисте конструисали јединствени индекс, претпоставите следећу табелу 'емп'.

>> ОДАБЕРИ * ИЗ емп;

Извршите упит ЦРЕАТЕ УНИКУЕ ИНДЕКС у љусци, праћен именом индекса 'емпинд' у колони 'наме' табеле 'емп'. У излазу можете видети да се јединствени индекс не може применити на колону са дуплираним вредностима „имена“.

>> СТВАРИ јединствени ИНДЕКС емпинд ОН емп (име);

Обавезно примените јединствени индекс само на колоне које не садрже дупликате. За табелу 'емп' можете претпоставити да само колона 'ид' садржи јединствене вредности. Дакле, на њега ћемо применити јединствени индекс.

>> СТВАРИ јединствени ИНДЕКС емпинд ОН емп (ид);

Следе атрибути јединственог индекса.

>> \ д испражњено;

Индекс пада

Израз ДРОП користи се за уклањање индекса из табеле.

>> ДРОП ИНДЕКС испразни;

Закључак

Иако су индекси дизајнирани да побољшају ефикасност база података, у неким случајевима није могуће користити индекс. Када се користи индекс, морају се узети у обзир следећа правила:

Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...
Корисни алати за Линук играче
Ако волите да играте игре на Линуку, велика је вероватноћа да сте можда користили апликације и услужне програме попут Вине, Лутрис и ОБС Студио за поб...
ХД Ремастеред игре за Линук које никада раније нису имале Линук издање
Многи програмери и издавачи игара долазе са ХД ремастером старих игара како би продужили живот франшизе, молимо обожаваоце да захтевају компатибилност...