MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Dlaczego sortowanie MongoDb jest powolne w przypadku kolekcji wyszukiwania

Obecnie wyszukiwanie będzie wykonywane dla każdego elementu worker_details, co oznacza 330000 razy, ale jeśli najpierw posortujemy i ograniczymy przed wyszukiwaniem, będzie to tylko 10 razy. To znacznie skróci czas zapytania.

db.getCollection('employee_details').aggregate([
    {$sort      : {employee_fname: -1}},
    {$limit     :10},
    {
        $lookup : {
            from         : "departments",
            localField   : "department_id",
            foreignField : "_id",
            as           : "Department"
        }
    },
    { $unwind   : { path: "$Department", preserveNullAndEmptyArrays: true }},
]) 

Po wypróbowaniu tego, jeśli chcesz nawet skrócić czas odpowiedzi, możesz zdefiniować indeks w polu sortowania.

db.employee_details.createIndex( { employee_fname: -1 } )



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak podłączyć mongoDB do aplikacji angular2?

  2. Jak mogę uruchomić Spring z wyłączoną MongoDB, ale nadal zainstalowaną?

  3. Indeks geoprzestrzenny Mongodb nie obsługuje $box?

  4. MongoDB różnica między $orderby i Sort

  5. Jak uruchomić mongodb, zakładając konto