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

Permintaan awalan sederhana Mongodb dengan regex dan sort lambat

scanAndOrder: true dalam output jelaskan menunjukkan bahwa kueri harus mengambil dokumen dan kemudian mengurutkannya dalam memori sebelum output dikembalikan. Ini adalah operasi yang mahal, dan akan berdampak pada kinerja kueri Anda.

Adanya scanAndOrder: true serta perbedaan nscanned sebuah n pada output explain menunjukkan bahwa query tidak menggunakan indeks yang optimal. Dalam hal ini tampaknya perlu melakukan pemindaian koleksi. Anda mungkin dapat mengatasi masalah ini dengan memasukkan kunci indeks di sort kriteria. Dari pengujian saya:

db.posts.find({hashtags: /^noticias/ }).limit(15).sort({hashtags:1, rank : -1}).explain()

Tidak memerlukan pemindaian dan pemesanan, dan mengembalikan n dan nscanned dari jumlah catatan yang Anda cari. Ini juga berarti menyortir hashtags key, yang mungkin berguna atau tidak bagi Anda, tetapi akan meningkatkan kinerja kueri.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri Mongodb pada bulan, hari, tahun... dari suatu tanggal

  2. Menemukan dokumen dengan array DBRefs

  3. MongoDB $count Operator Agregasi

  4. nilai grup mongodb berdasarkan beberapa bidang

  5. Bagaimana cara (DI MANA) kolom =kolom di Mongo?