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

MongoDB:kinerja kueri yang menurun

1:Pertanyaan Anda terlalu rumit. Terlalu sering menggunakan $elemMatch.2nd:jika Anda dapat memasukkan kunci shard ke dalam kueri, kecepatan akan meningkat secara drastis.

Saya akan mengoptimalkan kueri Anda untuk Anda:

db.user.find({
     createdAt: {
          $gte: ISODate("2014-12-01"), 
          $lte: ISODate("2014-12-31")
     }
}).explain()

db.user.find({
    'transaction.product':'mobile'
}).explain()

db.user.find({
    'transaction.product':'mobile', 
    firstTransaction:{
       $in:[
           ISODate("2015-01-01"),
           ISODate("2015-01-02")
       ]
    }
}).explain()

Intinya adalah ini:sertakan kunci pecahan Anda setiap kali adalah penghemat waktu.

Bahkan mungkin menghemat waktu untuk mengulang kunci shard Anda dan membuat kueri yang sama beberapa kali.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Keyset(Mencari) Pagination di Spring Data MongoDB

  2. C# - MongoDB - Perbarui elemen di dalam Dokumen Bersarang

  3. Adakah cara untuk mendapatkan IDS yang dimodifikasi dari operasi massal mongodb menggunakan luwak?

  4. MongoDB:Kesalahan fatal:Kelas 'MongoClient' tidak ditemukan

  5. $elemmatch tidak berfungsi di MongoDB