MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bisakah saya mengubah indeks yang ada di MongoDB tanpa menghapusnya?

Tidak ada cara untuk mengubah indeks seperti yang Anda gambarkan, dan jika ada, saya pikir hasilnya dalam hal kinerja akan serupa - bagaimana database menggunakan indeks setengah yang dibuat/diubah saat operasi ini berlangsung misalnya?

Sebaliknya saya akan merekomendasikan menggunakan opsi latar belakang untuk membangun indeks pada satu node, jika itu adalah konfigurasi Anda - itu akan memakan waktu lebih lama tetapi tidak akan terlalu mengganggu operasi normal Anda. Setelah selesai, Anda dapat menghapus indeks lama sesuka Anda.

Namun , jika Anda memiliki set replika (disarankan), Anda harus menyadari bahwa pembuatan indeks selalu (saat ini) dilakukan di latar depan pada sekunder. Jika Anda ingin menghindari beban sekunder Anda, maka Anda harus mengikuti langkah-langkah yang diuraikan di sini untuk mengeluarkan anggota satu per satu dan membangun indeks yang diperlukan sebelum bergabung kembali dengan set:

http://docs.mongodb.org/manual/administration/indexes/#index-building-replica-sets

Pembaruan

Indeks latar belakang yang dibangun di atas sekunder akan dimungkinkan dimulai dengan rilis 2.6 (lihat catatan rilis untuk detailnya). Ini tidak akan di-backport ke versi sebelumnya, jadi catatan di atas akan berlaku untuk versi sebelum 2.6.

Terakhir, Sebagai catatan umum, indeks yang dibangun di latar belakang umumnya akan lebih besar dan kurang efisien daripada yang dibangun di latar depan, sehingga metodologi di atas akan tetap digunakan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $acos

  2. Bagaimana cara terhubung dengan mongodb menggunakan sailsjs v0.10?

  3. MongoDB $reverseArray

  4. Bagaimana cara mendapatkan tanggal koleksi MongoDB dibuat menggunakan driver MongoDB C#?

  5. MongoDB $sum Agregasi Pipeline Operator