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

mongodb groupby lambat bahkan setelah menambahkan indeks

Seperti yang Anda lihat dari kueri yang Anda tulis, jenis agregasi ini di 2.0 mengharuskan Anda untuk menjalankan Peta/Kurangi. Map/Reduce di MongoDB memiliki beberapa penalti kinerja yang telah dibahas di SO sebelum - pada dasarnya kecuali Anda dapat memparalelkan di seluruh cluster, Anda akan menjalankan javascript berulir tunggal melalui Spidermonkey - bukan proposisi yang cepat. Indeks, karena Anda tidak selektif, tidak terlalu membantu - Anda hanya perlu memindai seluruh indeks serta kemungkinan dokumen.

Dengan rilis 2.2 yang akan segera terjadi (saat ini dalam rc1 pada saat penulisan ini), Anda memiliki beberapa opsi. kerangka kerja agregasi (yang asli, bukan Peta/Pengurangan berbasis JS) yang diperkenalkan pada 2.2 memiliki operator grup dan dibuat khusus untuk mempercepat operasi semacam ini di MongoDB.

Saya akan merekomendasikan mencoba 2.2 dan melihat apakah kinerja Anda dalam pengelompokan meningkat. Saya pikir itu akan terlihat seperti ini (catatan:tidak diuji):

db.alarm.aggregate(
    { $group : {
        _id : "$serverName",
        count : { $sum : 1 }
    }}
);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa perbedaan antara id dan _id di luwak?

  2. Ubah objek yang ada dalam array tetapi tetap pertahankan keunikan kunci

  3. Bagaimana MongoDB menangani panjang dokumen dalam indeks teks dan skor teks?

  4. Cara menghapus banyak dokumen dalam koleksi yang dipartisi di Azure CosmosDB menggunakan API MongoDB

  5. Bagaimana cara menyajikan konten saya dengan nodejs vm di google cloud