See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 5609|Vastuse: 2

MongoDB vaatamine ja indeksite loomine

[Kopeeri link]
Postitatud 11.02.2022 17:46:29 | | | |
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:

MongoDB ühised päringukäsud
https://www.itsvse.com/thread-10169-1-1.html

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.

parameetertähendus
totalKeysExaminedIndeksskaneeringute arv
totalDocsExaminedDokumentide skaneerimiste arv
nTagastatudTagastatud tulemuste arv
executionTimeMillisTäitmine on aeganõudev
teostusEduKas 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)




Eelmine:Kuidas piirata Taiwani kasutajate registreerimist, postitada infot soovi korral ja küsida nõu, kuidas kirjutada.
Järgmine:[Päris lahing]. NET/C# ekspordib vahemälu StackExchange.Redis häguse päringuga
 Üürileandja| Postitatud 11.02.2022 17:49:16 |
Aeglane päringute analüüsi protsess:

1. Kasuta aeglast päringulogi (system.profile), et leida väiteid, mis ületavad 200 ms

2. Seejärel kasuta .explain(), et analüüsida mõjutatud ridade arvu ja analüüsida, miks see ületab 200ms

3. Otsusta, kas pead lisama indeksi

Luba aeglane päring:


Parameeter:

0: Suletud, andmeid ei koguta.
1: Koguda aeglaseid päringuandmeid, vaikimisi on 100 millisekundit.
2: Kogu kogu info

Vaata tulemusi:


Märkus: Indekseid võib põhimõtteliselt pidada püsivateks mälus – kui andmete hulk jõuab 100 miljonini, siis mida väiksem on indekseid, seda parem, sest need võtavad suure osa mälust. Interneti andmetel moodustab 1 miljon indeksit umbes 50 miljonit mälu. Kui see on 100 miljonit, siis võtab see 5G mälu.

Postitatud 13.02.2022 16:30:52 |
Õppinud...
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com