|
|
Zverejnené 11. 2. 2022 17:46:29
|
|
|
|

Index MongoDB
Bez indexov by MongoDB musel prehľadávať každý súbor v kolekcii a vybrať tie záznamy, ktoré spĺňajú kritériá dotazu pri čítaní dát.
Takáto efektivita vyhľadávania pri prehľadávaní celej sady je veľmi nízka, najmä pri spracovaní veľkého množstva dát, dotaz môže trvať desiatky sekúnd alebo dokonca minút, čo je veľmi osudné pre výkon webovej stránky.
Indexy sú špeciálne dátové štruktúry uložené v kolekcii dát, ktoré je možné ľahko prečítať cez index, a indexy sú štruktúra, ktorá triedi hodnoty jedného alebo viacerých stĺpcov v databázovej tabuľke.
Revízia:
Opýtajte sa na plán realizácie
Príklady výrokov:
Bez vytvorenia indexu (winningPlan:COLLSCAN), ako je znázornené na obrázku nižšie:
funkcia explain() môže tiež prijímať rôzne parametre a podrobnejší plán dotazu si môžete pozrieť nastavením rôznych parametrov.
Parametre zahŕňajú:queryPlanner (predvolené)、Štatistiky vykonania、Všetky plányVykonanie
Execute explain("executionStats") a zistíte, že v pláne vykonania je viac štatistík.
| parameter | význam | | totalKeysExamined | Počet indexových skenov | | totalDocsExamined | Počet skenov dokumentov | | nVrátené | Počet vrátených výsledkov | | executionTimeMillis | Vykonávanie je časovo náročné | | PopravaÚspech | Či bola poprava úspešná |
Vytvorte index
MongoDB používa metódu createIndex() na vytváranie indexov.
Upozorňujeme, že pred verziou 3.0.0 bola metóda vytvárania indexu db.collection.ensureIndex(), a neskoršie verzie používali metódu db.collection.createIndex().
Vytvorte jeden index
Vytvorte kompozitný index
V syntaxi je kľúčová hodnota indexové pole, ktoré chcete vytvoriť, 1 je špecifikované na vytvorenie indexu vzostupne a ak chcete vytvoriť index v zostupnom poradí, môžete špecifikovať -1.pozadie na špecifikovanie, že indexy sa vytvárajú na pozadí, teda pridať voliteľný parameter "pozadie". "pozadie" predvolene nastaví na false.
Indexy dotazov
Príkaz je nasledovný:
Vymazať index
Vymazať všetky indexy
Vymažte špecifikovaný index
(Koniec)
|
Predchádzajúci:Ako obmedziť registráciu taiwanských používateľov, zverejňovanie informácií podľa potreby a žiadanie o rady, ako písať.Budúci:[Skutočný boj]. NET/C# exportuje cache pomocou StackExchange.Redis fuzzy query
|