架构师_程序员_码农网

A Hämta lösenord
Registrera dig

QQ登录

Bara ett steg för att komma igång

Sök
"架构 师_程序员_码农网 '架构师 ' Databas专区&Database ' MongoDB ' 【实战】MongoDB 查看索引和创建索引
Visa:2990|Svar: 2
打印 上一主题 下一主题

Det första steget är att skapa ett nytt index för MongoDB.

[kopiera länk]
L 跳转到指定楼层
ägare
2022-2-11 17:46:29|只看该作者回帖奖励|ReverseBrowse|Läsläge
MongoDB-index

Index kan ofta avsevärt förbättra effektiviteten i en fråga. Utan index måste MongoDB skanna varje fil i en samling när data läses och välja de poster som matchar frågekriterierna.

Denna frågeeffektivitet för att skanna hela samlingen är mycket låg, särskilt när man hanterar en stor mängd data, kan frågan ta tiotals sekunder eller till och med minuter, vilket är mycket dödligt för webbplatsens prestanda.

Index är speciella datastrukturer som lagras i en samling data som är lätta att korsa och läsa, och ett index är en struktur som sorterar värdena för en eller flera kolumner i en databastabell.

Granska:

MongoDB Vanliga frågekommandon
h ttps:// www.itsvse.com/thread-10169-1-1.html

Plan för exekvering av en fråga

Exempel på uttalande:

Utan att några index har skapats (WinningPlan: COLLSCAN (Full Table Sweep)), enligt vad som visas nedan:



Funktionen explain() kan också ta emot olika parametrar, genom att ställa in olika parametrar kan du visa en mer detaljerad frågeplan.

Parametrarna inkluderar: queryPlanner (standard), executionStats, allPlansExecution

Kör explain("executionStats"), du kommer att hitta lite mer statistik i exekveringsplanen.

ParametrarBetydelse
totalKeysExamined Antal indexskanningar
totalDocsUndersökta Antal skanningar av dokument
nReturned Antal resultat som returnerats
executionTimeMillis executionTimeMillis
executionSuccess Om exekveringen lyckades eller inte

Skapa index

MongoDB använder metoden createIndex() för att skapa ett index.

Observera att före version 3.0.0 var createIndex-metoden db.collection.ensureIndex(), och sedan dess har metoden db.collection.createIndex() använts. ensureIndex() fungerar fortfarande, men det är bara ett alias för createIndex().

Skapa ett enda index


Skapa ett sammansatt index

I syntaxen är nyckelvärdet det indexfält som du vill skapa, 1 anger att indexet ska skapas i stigande ordning, om du vill skapa indexet i fallande ordning kan du ange -1. background kan ange att indexet ska skapas i bakgrunden, dvs. lägga till den valfria parametern " background ". Standardvärdet för "background" är false.

Fråga efter index

Kommandot är som följer:



Ta bort index

Ta bort alla index

Raderar det angivna indexet

(END)




Föregående: Discuz hur man begränsar Taiwan användarregistrering, slumpmässigt publicera information, skrivmetod för råd.
Nästa:NET/C# Använda StackExchange.Redis fuzzy query export cache
Den första är att använda samma modell som den som användes i den föregående, och den andra är att använda samma modell som den som användes i den föregående.
jimmy choobs
ägare2022-2-11 17:49:16|只看该作者
Analysprocess för långsam fråga:

1. långsam frågelogg (system.profile) för att hitta mer än 200ms uttalande

2. och sedan genom .explain () analys av påverkan av antalet rader, analys av varför mer än 200ms

3. Bestäm om du behöver lägga till ett index

Slå på den långsamma frågan:


Parametrar:

0: av, inga data samlas in.
1: Samla in data för långsamma frågor, standard är 100 millisekunder.
2: Samla in alla data

Visa resultat:


Notera: Index kan i princip sägas vara bosatta i minnet, index om mängden data når miljardnivån, desto mindre antal index desto bättre, eftersom det kommer att uppta mycket minne. På Internet tar 1 miljon index upp cirka 50 miljoner minne. Om en miljard, då kommer det att uppta 5g minne.

Kodbondenätverket, som endast publicerades i praktiken, stötte på tekniska svårigheter, vilseleder inte andra.
ugg stövlar försäljning
bänk sits sits
2022-2-13 16:30:52|只看该作者
Jag vet inte om du är ett fan av den senaste versionen, men jag är ett fan av den senaste versionen.
Kodbondenätverket, endast publicerat i praktiken, stötte på tekniska svårigheter, vilseleda inte andra.
Du måste logga in innan du kan posta tillbaka Logga in | Registrera dig

D enna version av de integrerade reglerna


Ansvarsfriskrivning: all programvara, programmeringsinformation eller artiklar som släpps av kodbondenätverket är begränsad till inlärnings- och forskningsändamål; får inte användas för kommersiella eller olagliga ändamål, annars är alla konsekvenser användarens ansvar. Denna webbplatsinformation från nätverket, upphovsrättstvist har inget att göra med den här webbplatsen. Du måste helt ta bort ovanstående innehåll från din dator inom 24 timmar efter nedladdningen. Om du gillar programmet, vänligen stöd den äkta programvaran, köp registreringen och få bättre äkta service. Om det finns något intrång, vänligen kontakta oss via e-post för att hantera det.

E-post To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 04:13

Snabbt svarTillbaka till toppenTillbaka till listan