MongoDB indeksas
Be indeksų "MongoDB" turėtų nuskaityti kiekvieną kolekcijos failą ir skaitydama duomenis pasirinkti tuos įrašus, kurie atitinka užklausos kriterijus.
Toks užklausos efektyvumas nuskaitant visą rinkinį yra labai mažas, ypač apdorojant didelį duomenų kiekį, užklausa gali užtrukti dešimtis sekundžių ar net minučių, o tai labai lemtinga svetainės veikimui.
Indeksai yra specialios duomenų struktūros, saugomos duomenų rinkinyje, kurį galima lengvai perskaityti indekse, o indeksai yra struktūra, kuri rūšiuoja vieno ar kelių duomenų bazės lentelės stulpelių reikšmes.
Peržiūra:
Užklausti vykdymo planą
Teiginių pavyzdžiai:
Nekuriant indekso (winningPlan:COLLSCAN), kaip parodyta paveikslėlyje žemiau:
Funkcija explain() taip pat gali gauti skirtingus parametrus, o nustatydami skirtingus parametrus galite peržiūrėti išsamesnį užklausos planą.
Parametrai apima:queryPlanner (numatytasis)、executionStats、allPlansExecution
Vykdykite paaiškinimą ("executionStats") ir pamatysite, kad vykdymo plane yra daugiau statistikos.
| Parametras | prasmė | | totalKeysExamine | Indekso nuskaitymų skaičius | | iš visoDocsIšnagrinėta | Dokumentų nuskaitymų skaičius | | nGrąžinta | Grąžintų rezultatų skaičius | | executionTimeMillis | Vykdymas užima daug laiko | | vykdymasSėkmė | Ar vykdymas buvo sėkmingas |
Indekso kūrimas
MongoDB indeksams kurti naudoja createIndex() metodą.
Atkreipkite dėmesį, kad prieš 3.0.0 versiją indekso kūrimo metodas buvo db.collection.ensureIndex(), o vėlesnėse versijose buvo naudojamas db.collection.createIndex() metodas.
Sukurkite vieną indeksą
Sudėtinio indekso kūrimas
Sintaksėje rakto reikšmė yra indekso laukas, kurį norite sukurti, 1 nurodoma, kad indeksas būtų sukurtas didėjančia tvarka, o jei norite sukurti indeksą mažėjančia tvarka, galite nurodyti -1.fonas, nurodantis, kad rodyklės kuriamos fone, tai yra, pridėkite pasirenkamą parametrą "fonas". "background" numatytoji reikšmė yra false.
Užklausos indeksai
Komanda yra tokia:
Naikinti rodyklę
Naikinti visas rodykles
Naikinti nurodytą indeksą
(Pabaiga)
|