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

MongoDB menghapus dengan sangat lambat

Hal ini terjadi karena meskipun

db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})

tampak seperti satu perintah yang sebenarnya beroperasi pada banyak dokumen - sebanyak yang memenuhi kueri ini.

Saat Anda menggunakan replikasi, setiap operasi perubahan harus ditulis ke koleksi khusus di local database bernama oplog.rs - oplog singkatnya.

Oplog harus memiliki entri untuk setiap dokumen yang dihapus dan setiap entri tersebut harus diterapkan ke oplog pada setiap sekunder sebelum juga dapat menghapus catatan yang sama.

Satu hal yang saya sarankan agar Anda pertimbangkan adalah indeks TTL - mereka akan "secara otomatis" menghapus dokumen berdasarkan tanggal/nilai kedaluwarsa yang Anda tetapkan - dengan cara ini Anda tidak akan memiliki satu penghapusan besar-besaran dan sebagai gantinya akan dapat menyebarkan beban lebih banyak dari waktu ke waktu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kelompokkan dan hitung pada rentang awal dan akhir

  2. Konversikan MongoCursor dari ->find() ke array

  3. 3 Cara Menyembunyikan Indeks dari Paket Kueri di MongoDB

  4. Temukan array yang sama persis atau memiliki semua nilai array di MongoDb

  5. Bagaimana cara mempercepat Sisipan MongoDB/detik?