Увод у МонгоДБ цреате Индек

МонгоДБ користи сложени алгоритам за анализу података, анализу података за управљање, модификовање и уређивање података на којима раде. Подаци којима се баве су хумозни и захтевају ефикасно руковање. Индекси у ДБМС-у помажу у повећању перформанси упита попут дохваћања и ажурирања података. Замислите колекцију која садржи стотине докумената. Да би пронашао документе који се подударају са одређеним филтером, МонгоДБ би морао да га филтрира према свим документима који се налазе у колекцији, што је мучно и дуготрајно. Уместо индексирања докумената (поља) значајно ће смањити време претраге. У овој теми сазнаћемо о МонгоДБ креирању индекса.

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

Основна синтакса за креирање индекса

db.collectionName.createIndex(, )

КључевиКључеви је документ који садржи пар вредности поља где је поље индекс кључ, а вредност је врста индекса.

На пример, вредност је 1 за сортирање индексног кључа у узлазном редоследу и -1 у силазном редоследу

ОпцијеОпција је документ који садржи скуп опција које утичу на креирање индекса. Ове опције су опционе.

Врсте индекса

Ево врста индекса наведених у наставку

1. Подразумевани ид

Сваки документ присутан у Монго колекцији садржи индекс

подразумевано назива „_ид“. Идентификатор објекта креира се током креирања документа ако нема индексних вредности.

2. Једно поље

Индексирање се врши на једном пољу и операција сортирања је узлазна или силазна јер МонгоДБ може да пређе у било ком правцу.

Пример: дб.цоллецтион.цреатеИндек (("старост": 1))

3. Индекс једињења

МонгоДБ подржава кориснички дефинисане индексе у више поља. Редослед поља који су наведени у сложеном индексу је прилично значајан. Редослијед сортирања траје с лијева на десно, с приоритетним врт-ом према првом пољу које се спомиње у индексима сложених састојака је вишим од оног у сљедећем.

Пример: дб.цоллецтион.цреатеИндек (("старост": 1, "дим.х": - 1)). У овом примеру се сви документи са старосним пољем прво сортирају узлазним редоследом, а затим по опадајућем редоследу по висини.

4. Мултикеи индекс

МонгоДБ користи Мултикеи Индек да индексира податке који су у формату поља. Док индексирате, сваки елемент у низу креира засебан индекс и подаци се индексирају на основу елемената који су присутни у низу. МонгоДБ води рачуна ако поље индекса садржи подразумијевано поље у њему.

5. Геопросторни индекс

МонгоДБ користи Геоспацијално индексирање како би пронашао податке на основу своје локације. Подржава двије врсте претраживања, 2Д (дводимензионално) и 3Д (тродимензионално). Ови индекси се користе за постизање резултата унутар распона. Број резултата претраживања може се ограничити и коришћењем лимит () функције.

Пример: дб.плаиерс.финд ((лоц: ($ неар: ($ геометри: (типе: "хигх_сцхоол", спорт: "кошарка" узраст: (14, 17)))))). Овај пример ће пронаћи све ставке ученика који су у средњој школи, играју кошарку и налазе се у старосној доби од 14 до 17.

6. Текстуални индекс

МонгоДБ нуди индексирање текста за подршку упита у стринг формату. Текстуални индекс може имати било која поља која се састоје од елемената низа или низа елемената низа.
Пример: дб.мовиес.финд (($ тект: ($ сеарцх: "том харди"))) .Овим примером ће се наћи сви документи који имају имена глумаца попут Том Ханкс, Том Фелтон, Том Хидделсон, као и Роберт Харди и Јохн Харди. МонгоДБ узима низ који је предвиђен за претрагу и даје све документе који у њему имају потпун или дјеломичан низ.

7. хасхед индек

МонгоДБ користи хеш индекс да подржи оштрење. Хасхинг индекси израчунавају хасх вриједност индексних поља користећи хасх функцију. Не подржава индексирање са више тастера (вредности поља). Хасх индекси се креирају помоћу цреатеИндек функције и вредност поља индекса увек би требало да буде 'хасхед'.

Пример: дб.цоллецтион.цреатеИндек ((: “хасхед”)) . Да бисте пронашли документе са хасх вредностима, дб.цоллецтион.финд ((: Матх.пов (2, 63))) ће вратити све документе са хасх индексима у распону 2 63.

Опције за индексирање

1. Јединствени индекс

Као што име говори, јединствени индекси су јединствене природе. МонгоДБ не допушта дупликатне вредности ако је индекс креиран помоћу „јединствене“ опције. Да бисте одредили да је индекс јединствен током креирања индекса, треба користити сљедећи формат.

дб.цоллецтион.цреатеИндек (, (јединствено: истинито)) . Јединствена ограничења могу се наметнути и за индекс сложеница, индекс са више тастера и индекс текста.

2. Делимични индекс

Дјеломични индекси индексирају документе колекције на основу одређеног филтра или израза. С обзиром да индекс делимичних индекса, само је подгрупа захтева простора за сакупљање (меморије) мања и то такође резултира смањеним перформансама.

Пример :

дб.пупилс.цреатеИндек ((име: 1), (делФилтерЕкпрессион: (доб: ($ гт: 5)))
Подржани изрази филтера:

  • $ гт, $ гте, $ лт, $ лте (веће од, веће или једнако, мање од и мање од или једнако)
  • $ типе оператери
  • $ постоји: истинска операција
  • Оператор за једнакост ($ ек)
  • Логичке и, или операције

3. ТТЛ индекс

ТТЛ индексира посебну врсту индекса појединачних кључева који се могу избрисати из МонгоДБ колекције након истека времена или одређеног сата. Неке апликације које бележе машинско генерисане податке или записнике који би евентуално били неважећи након неког времена то сматрају врло користан.

Пример:

дб.лог.цреатеИндек ((“ластМодифиедДате”: 1), (екпиреАфтерСецондс: 10000))

4. Редак индекс

Редки индекси индексирају само документе који садрже вредност поља индекса. Занемарује све остале документе који не садрже поље. По дефаулту, нешкрутни индекси садрже све документе у колекцијама, а нула је вредност за та поља која не постоје.

Пример:

дб.пупил.цреатеИндек (("старост": 1), (спарсе: труе))
Индекс не индексира документе који не садрже старост поља.

5. Индекс несензибилности случаја

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

Пример:

дб.цоллецтион.цреатеИндек (("тастер": 1), (упоредни фактор:))

Поређење:

Документ о композицији користи се за спецификацију језичких правила, слова слова итд … за поређење низа.

Документи за прикупљање састоје се од следећег:

Закључак - МонгоДБ креира индекс

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

Препоручени чланци

Ово је водич за МонгоДБ креирање индекса. Овдје расправљамо о врстама индекса и опцијама за индексирање заједно с примјерима. Такође можете погледати следећи чланак да бисте сазнали више -

  1. МонгоДБ Алати
  2. Шта је МонгоДБ?
  3. Репликација у МонгоДБ
  4. Предности МонгоДБ-а

Категорија: