MongoDB indeks
Ilma indeksiteta peaks MongoDB skaneerima kõik kogu failid ja valima need kirjed, mis vastavad päringukriteeriumidele, kui andmeid lugeda.
Selline kogu komplekti skaneerimise efektiivsus on väga madal, eriti suure andmehulga töötlemisel võib päring võtta kümneid sekundeid või isegi minuteid, mis on veebisaidi jõudlusele väga saatuslik.
Indeksid on spetsiaalsed andmestruktuurid, mis on salvestatud andmekogumisse ja mida saab indeksi kaudu hõlpsasti lugeda, ning indeksid on struktuur, mis sorteerib ühe või mitme veeru väärtusi andmebaasitabelis.
Läbivaatamine:
Küsi täitmisplaani kohta
Näitelaused:
Ilma indeksi loomiseta (winningPlan:COLLSCAN), nagu alloleval joonisel näidatud:
explain() funktsioon saab vastu võtta ka erinevaid parameetreid ning saad vaadata detailsemat päringuplaani, seades erinevaid parameetreid.
Parameetrid hõlmavad:queryPlanner (vaikimisi)、executionStats、allPlansExecution
Execute explain("executionStats") ja näed, et täitmisplaanis on rohkem statistikat.
| parameeter | tähendus | | totalKeysExamined | Indeksskaneeringute arv | | totalDocsExamined | Dokumentide skaneerimiste arv | | nTagastatud | Tagastatud tulemuste arv | | executionTimeMillis | Täitmine on aeganõudev | | teostusEdu | Kas hukkamine oli edukas |
Loo indeks
MongoDB kasutab indeksite loomiseks createIndex() meetodit.
Pane tähele, et enne versiooni 3.0.0 oli indeksi loomise meetod db.collection.ensureIndex(), hilisemad versioonid kasutasid db.collection.createIndex() meetodit.
Loo üks indeks
Loo komposiitindeks
Süntaksis on võtmeväärtus indeksväli, mida soovid luua, 1 on määratud indeksi loomiseks kasvavas järjekorras, ja kui soovid indeksit kahanevas järjekorras, saad määrata -1.taust, et täpsustada, et indeksid luuakse taustal, ehk lisa "tausta" valikuline parameeter. "taust" on vaikimisi väär.
Päringuindeksid
Käsk on järgmine:
Kustuta indeks
Kustuta kõik indeksid
Kustuta määratud indeks
(Lõpp)
|