Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 5609|Vastaus: 2

MongoDB:n katselu ja indeksien luominen

[Kopioi linkki]
Julkaistu 11.2.2022 17.46.29 | | | |
MongoDB-indeksi

Ilman indeksejä MongoDB:n pitäisi skannata kaikki kokoelman tiedostot ja valita ne tietueet, jotka täyttävät kyselykriteerit dataa lukiessa.

Tällainen kyselyjen tehokkuus koko aineiston skannauksessa on hyvin alhainen, erityisesti kun käsitellään suurta datamäärää, kysely voi kestää kymmeniä sekunteja tai jopa minuutteja, mikä on erittäin kohtalokasta verkkosivuston suorituskyvylle.

Indeksit ovat erityisiä tietorakenteita, jotka on tallennettu tietokokoelmaan ja joita voidaan helposti lukea indeksin yli, ja indeksit ovat rakenne, joka lajittelee yhden tai useamman sarakkeen arvot tietokantataulukossa.

Arvostelu:

MongoDB:n yleiset kyselykomennot
https://www.itsvse.com/thread-10169-1-1.html

Kysely toteutussuunnitelmasta

Esimerkkilauseita:

Ilman indeksin luomista (winningPlan:COLLSCAN), kuten alla olevassa kuvassa näkyy:



explain()-funktio voi myös vastaanottaa erilaisia parametreja, ja voit tarkastella yksityiskohtaisempaa kyselysuunnitelmaa asettamalla eri parametreja.

Parametrit sisältävät:queryPlanner (oletus)、executionStats、allPlansExecution

Suorita explain("executionStats") ja huomaat, että suoritussuunnitelmassa on lisää tilastoja.

parametrimerkitys
totalKeysExaminedIndeksiskannausten määrä
totalDocsExaminedAsiakirjaskannausten määrä
nPalautettuPalautettujen tulosten määrä
executionTimeMillisToteutus vie paljon aikaa
toteutus MenestysOliko teloitus onnistunut

Luo indeksi

MongoDB käyttää createIndex()-menetelmää indeksien luomiseen.

Huomaa, että ennen versiota 3.0.0 indeksin luontitapa oli db.collection.ensureIndex(), ja myöhemmissä versioissa käytettiin db.collection.createIndex()-menetelmää.

Luo yksi indeksi


Luo yhdistelmäindeksi

Syntaksissa avainarvo on indeksikenttä, jonka haluat luoda, 1 on määritelty indeksin luomiseksi kasvavassa järjestyksessä, ja jos haluat luoda indeksin laskevassa järjestyksessä, voit määrittää -1.tausta määrittääkseen, että indeksit luodaan taustalla, eli lisää "tausta"-valinnainen parametri. "tausta" on oletuksena väärin.

Kyselyindeksit

Käsky on seuraava:



Poista hakemisto

Poista kaikki indeksit

Poista määritelty indeksi

(Loppu)




Edellinen:Kuinka rajoittaa taiwanilaisia käyttäjiä rekisteröitymästä, julkaista tietoja vapaasti ja pyytää neuvoja kirjoittamiseen.
Seuraava:[Varsinaista taistelua]. NET/C# vie välimuistin käyttämällä StackExchange.Redis fuzzy queryä
 Vuokraisäntä| Julkaistu 11.2.2022 17.49.16 |
Hidas kyselyanalyysiprosessi:

1. Käytä hidasta kyselylokia (system.profile) löytääksesi lauseita, jotka ylittävät 200 ms

2. Käytä sitten .explain() analysoidaksesi vaikutuspiirien määrän ja selvittääksesi, miksi se ylittää 200 ms

3. Päätä, tarvitseeko lisätä indeksi

Ota hidas kysely käyttöön:


Parametri:

0: Suljettu, tietoja ei kerätä.
1: Kerää hidas kyselydata, oletusarvo on 100 millisekuntia.
2: Kerää kaikki tiedot

Käy läpi tulokset:


Huomautus: Indeksit voidaan periaatteessa sanoa pysyväksi muistissa; jos datamäärä saavuttaa 100 miljoonaa, mitä pienempi indeksejä, sitä parempi, koska ne vievät suuren määrän muistia. Internetin mukaan miljoona indeksiä kattaa noin 50 miljoonaa muistia. Jos se on 100 miljoonaa, se vie 5G-muistia.

Julkaistu 13.2.2022 16.30.52 |
oppinut...
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com