Úvod do MongoDB vytvoření indexu

MongoDB se používá pro komplexní těžbu dat, algoritmy analýzy dat pro správu, úpravu a uspořádání dat, na nichž pracují. Údaje, se kterými se zabývají, jsou humongózní a vyžadují efektivní zacházení. Indexy v DBMS pomáhají zvyšovat výkon dotazů, jako je načítání a aktualizace dat. Představte si kolekci, která obsahuje stovky dokumentů. Chcete-li najít dokumenty, které odpovídají určitému filtru, MongoDB by musel porovnat filtr se všemi dokumenty, které jsou ve sbírce, což je únavné a časově náročné. Místo indexování dokumentů (polí) se výrazně zkrátí doba vyhledávání. V tomto tématu se dozvíme o vytvoření indexu MongoDB.

Indexy jsou datové struktury, které jsou plné dílčích datových sad v sobě. Index ukládá hodnotu konkrétního pole (polí) v dokumentech řádným způsobem, který podporuje operace jako komparátory, rovníky a dotazy založené na rozsahu v sekvenčním pořadí.

Základní syntaxe k vytvoření indexu

db.collectionName.createIndex(, )

KlíčeKlíče je dokument, který obsahuje dvojici hodnot pole, kde je pole index a hodnota je typ indexu.

Například hodnota 1 je pro třídění indexového klíče ve vzestupném pořadí a -1 v sestupném pořadí

MožnostiOption (s) je dokument, který obsahuje sadu možností, které ovlivňují tvorbu indexů. Tyto možnosti jsou volitelné.

Typy indexů

Níže jsou uvedeny typy indexů

1. Výchozí ID

Každý dokument v kolekci Mongo obsahuje index

výchozí název „_id“. ID objektu je vytvořeno při vytváření dokumentu, pokud nejsou k dispozici žádné hodnoty indexu.

2. Jedno pole

Indexování se provádí na jednom poli a operace řazení je vzestupná nebo sestupná, protože MongoDB může procházet v obou směrech.

Příklad: db.collection.createIndex ((„age“: 1))

3. Složený index

MongoDB podporuje uživatelem definované indexy ve více polích. Pořadí polí uvedených v složeném indexu je poměrně významné. Pořadí řazení trvá zleva doprava, priorita wrt do prvního pole uvedeného v složených indexech je vyšší než u následujícího.

Příklad: db.collection.createIndex ((„age“: 1, „dim.h“: - 1)). V tomto příkladu jsou všechny dokumenty s věkovým polem nejprve roztříděny vzestupně a poté sestupně podle výšky v šeru.

4. Multikey Index

MongoDB používá index Multikey k indexování dat ve formátu pole. Při indexování je každý prvek v poli vytvořen samostatný index a data jsou indexována na základě prvku (prvků) přítomných v poli.

5. Geospatial Index

MongoDB používá geoprostorové indexování k nalezení dat na základě jeho umístění. Podporuje dva typy vyhledávání, 2D (dvourozměrné) a 3D (trojrozměrné). Tyto indexy se používají k získání výsledků v rozsahu. Počet výsledků vyhledávání lze také omezit pomocí funkce limit ().

Příklad: db.players.find ((loc: ($ near: ($ geometry: (type: "high_school", sport: "basketball" age: (14, 17))))))). V tomto příkladu najdete všechny záznamy studentů, kteří jsou ve střední škole, hrají basketbal a jsou ve věku od 14 do 17 let.

6. Textový index

MongoDB poskytuje indexování textu pro podporu dotazů ve formátu řetězce. Textový index může obsahovat libovolná pole, která se skládají z řetězcových prvků nebo pole řetězcových prvků.
Příklad: db.movies.find (($ text: ($ search: "tom hardy")))) .Tento příklad najde všechny dokumenty, které mají jména herců, jako je hanks, tom felton, tom hiddelson, stejně jako robert hardy a john vytrvalý. MongoDB vezme řetězec určený pro vyhledávání a poskytne všechny dokumenty, které v něm mají úplný nebo částečný vyhledávací řetězec.

7. Hašovaný index

MongoDB používá hashed index pro podporu sharding. Hašovací indexy vypočítají hašovací hodnotu indexových polí pomocí hašovací funkce. Nepodporuje indexování pomocí více klíčů (hodnoty pole). Indexy hash se vytvářejí pomocí funkce createIndex a hodnota indexového pole by měla být vždy „hashed“.

Příklad: db.collection.createIndex ((: “hashed”)) . Chcete-li najít dokumenty s hodnotami hash, db.collection.find ((: Math.pow (2, 63))) vrátí všechny dokumenty s indexy hash v rozsahu 2 63.

Možnosti indexování

1. Unikátní index

Jak název napovídá, jedinečné indexy jsou svou povahou jedinečné. MongoDB neumožňuje duplicitní hodnoty, pokud je index vytvořen pomocí možnosti „jedinečný“. Chcete-li určit, že index je při vytváření indexu jedinečný, měl by se použít následující formát.

db.collection.createIndex (, (unique: true)) . Unikátní omezení lze uložit také na složený index, index víceúčelového a textový index.

2. Částečný index

Částečné indexy indexují dokumenty kolekce na základě konkrétního filtru nebo výrazu. Protože index částečných indexů je menší než podskupina požadavků na prostor pro shromažďování (paměť), což také vede ke snížení výkonu.

Příklad :

db.pupils.createIndex ((name: 1), (čiastočneFilterExpression: (age: ($ gt: 5)))
Podporované výrazy filtru:

  • $ gt, $ gte, $ lt, $ lte (větší než, větší než nebo rovno, menší než a menší než nebo rovno)
  • Operátoři typu $
  • $ existuje: skutečná operace
  • Operátor rovnosti ($ eq)
  • Logické a nebo operace

3. TTL index

TTL indexuje speciální druh indexů s jedním klíčem, které lze odstranit z kolekce MongoDB po uplynutí časového limitu nebo v určitém časovém intervalu. Některé aplikace, které zaznamenávají strojem generovaná data nebo protokoly, které by nakonec byly neplatné po nějakém časovém období, to považují za velmi ochotný.

Příklad:

db.log.createIndex ((„lastModifiedDate“: 1), (expireAfterSeconds: 10000))

4. Řídký index

Řídké indexy indexují pouze dokumenty, které obsahují hodnotu pole indexu. Ignoruje všechny ostatní dokumenty, které pole neobsahují. Ve výchozím nastavení neobsahují indexy rozptýlené všechny dokumenty ve sbírkách, s hodnotou null jako hodnotou pro ta pole, která nejsou k dispozici.

Příklad:

db.pupil.createIndex ((„age“: 1), (sparse: true))
Index neindexuje dokumenty, které neobsahují věk pole.

5. Index nerozlišující malá a velká písmena

Indexy necitlivé na velikost písmen se používají k podpoře dotazů, které provádějí porovnání řetězců bez ohledu na citlivost na velikost písmen.

Příklad:

db.collection.createIndex ((„key“: 1), (collation:))

Kompletace:

Kompletační dokument se používá ke specifikaci jazykových pravidel, malých a velkých písmen atd. Pro porovnání řetězců.

Kompletační dokumenty se skládají z následujících:

Závěr - MongoDB vytvoří index

Závěrem lze říci, že indexování je rozhodující pro rychlejší provádění dotazů a správu paměti. Indexy lze vytvářet, upravovat podle požadavků uživatelů a v případě potřeby je lze zrušit.

Doporučené články

Toto je průvodce po vytvoření indexu MongoDB. Zde diskutujeme typy indexů a možnosti indexování spolu s příklady. Další informace naleznete také v následujícím článku -

  1. Nástroje MongoDB
  2. Co je MongoDB?
  3. Replikace v MongoDB
  4. Výhody MongoDB