Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 5609|Atsakyti: 2

"MongoDB" indeksų peržiūra ir kūrimas

[Kopijuoti nuorodą]
Paskelbta 2022-02-11 17:46:29 | | | |
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:

MongoDB bendrosios užklausos komandos
https://www.itsvse.com/thread-10169-1-1.html

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.

Parametrasprasmė
totalKeysExamineIndekso nuskaitymų skaičius
iš visoDocsIšnagrinėtaDokumentų nuskaitymų skaičius
nGrąžintaGrąžintų rezultatų skaičius
executionTimeMillisVykdymas 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)




Ankstesnis:Kaip apriboti Taivano vartotojų registraciją, skelbti informaciją savo nuožiūra ir paprašyti patarimo, kaip rašyti.
Kitą:[Tikroji kova]. NET/C# eksportuoja talpyklą naudodamas StackExchange.Redis neaiškią užklausą
 Savininkas| Paskelbta 2022-02-11 17:49:16 |
Lėtas užklausų analizės procesas:

1. Naudokite lėtą užklausų žurnalą (system.profile), kad rastumėte teiginius, viršijančius 200 ms

2. Tada naudokite .explain(), kad išanalizuotumėte paveiktų eilučių skaičių ir išanalizuotumėte, kodėl jis viršija 200 ms

3. Nuspręskite, ar reikia pridėti indeksą

Įgalinti lėtą užklausą:


Parametras:

0: Uždaryta, duomenys nerenkami.
1: Surinkite lėtus užklausos duomenis, numatytasis yra 100 milisekundžių.
2: Surinkite visus duomenis

Peržiūrėkite rezultatus:


Pastaba: Iš esmės galima sakyti, kad indeksai yra nuolatiniai atmintyje, jei duomenų kiekis siekia 100 milijonų, kuo mažesnis indeksų skaičius, tuo geriau, nes jis užims daug atminties. Interneto duomenimis, 1 milijonas indeksų sudaro apie 50 milijonų atminties. Jei jis yra 100 milijonų, tada jis užims 5G atmintį.

Paskelbta 2022-02-13 16:30:52 |
Sužinojau...
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com