Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Achtergrondindexering is een techniek waarmee een databasesysteem indexeringsbewerkingen op een verzameling kan uitvoeren zonder andere query's of updates te blokkeren. Azure DocumentDB accepteert de aanvraag voor het indexeren op de achtergrond en voert deze asynchroon op de achtergrond uit.
Wanneer u kleinere lagen of workloads met een hoge I/O gebruikt, worden vooraf gedefinieerde indexen voor lege verzamelingen gebruikt en hoeft u niet te vertrouwen op indexering op de achtergrond.
Belangrijk
Creëer unieke indexen voor een lege verzameling, omdat unieke indexen worden aangemaakt op de voorgrond en daarmee lees- en schrijfbewerkingen blokkeren. Definieer indexen op basis van querypredicaten voordat u gegevens invoegt terwijl de verzameling nog steeds leeg is. Als u dit doet, vermindert u resourceconflicten in grote verzamelingen met intensief lees-/schrijfverkeer.
Indexopbouw bewaken
We kunnen meer te weten komen over de voortgang van de indexbuild met behulp van de opdracht currentOp().
db.currentOp("db_name":"<db_name>", "collection_name":"<collection_name>")
-
db_nameis een optionele parameter. -
collection_nameis een optionele parameter.
// Output for reviewing build status
{
inprog: [
{
shard: 'defaultShard',
active: true,
type: 'op',
opid: '10000003049:1701252500485346',
op_prefix: Long("10000003049"),
currentOpTime: ISODate("2024-06-24T10:08:20.000Z"),
secs_running: Long("2"),
command: {createIndexes: '' },
op: 'command',
waitingForLock: true
},
{
shard: 'defaultShard',
active: true,
type: 'op',
opid: '10000003050:1701252500499914',
op_prefix: Long("10000003050"),
currentOpTime: ISODate("2024-06-24T10:08:20.000Z"),
secs_running: Long("2"),
command: {
createIndexes: 'BRInventory', },
indexes: [
{
v:2,
key: {vendorItemId: 1, vendorId: 1, itemType: 1},
name: 'compound_idx'
}
],
'$db': 'test'
op: 'command',
waitingForLock: false,
progress: {
blocks_done: Long("12616"),
blocks_done: Long("1276873"),
documents_d: Long("0"),
documents_to: Long("0")
},
msg: 'Building index.Progress 0.0098803875. Waiting on op_prefix: 10000000000.'
}
],
ok: 1
}
Beperkingen
- Er kunnen geen unieke indexen op de achtergrond worden gemaakt. U kunt ze het beste maken in een lege verzameling en vervolgens de gegevens laden.
- Achtergrondindexering wordt sequentieel uitgevoerd binnen één verzameling. Het aantal gelijktijdige indexopbouw op verschillende collecties is echter configureerbaar (standaard: 2).