Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Фоновая индексация — это метод, позволяющий системе базы данных выполнять операции индексирования в коллекции без блокировки других запросов или обновлений. Azure DocumentDB принимает фоновый запрос индексирования и асинхронно выполняет его в фоновом режиме.
При использовании более низких тарифных планов или рабочих нагрузок с высокой интенсивностью операций ввода-вывода предопределите индексы в пустых коллекциях и избегайте фонового индексирования.
Important
Создайте уникальные индексы в пустой коллекции, так как уникальные индексы создаются на переднем плане и блокируют операции чтения и записи. Определите индексы на основе предикатов запросов перед вставками данных, пока коллекция по-прежнему пуста. Это сокращает количество ресурсов в больших коллекциях с интенсивным трафиком чтения и записи.
Контролировать процесс сборки индекса
Мы можем узнать о ходе сборки индекса с помощью команды currentOp().
db.currentOp("db_name":"<db_name>", "collection_name":"<collection_name>")
-
db_nameявляется необязательным параметром. -
collection_nameнеобязательный параметр.
// 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
}
Ограничения
- Уникальные индексы не могут быть созданы в фоновом режиме. Лучше всего создать их в пустой коллекции, а затем загрузить данные.
- Фоновая индексация выполняется последовательно в одной коллекции. Однако число одновременных сборок индекса в разных коллекциях настраивается (по умолчанию: 2).