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

usuwanie scanAndOrder :true w moim wyniku zapytania MongoDB

Dzięki za okrzyki na Dex!

Jeśli nie jest za późno w 2013, indeks, który zalecam, aby uniknąć scanAndOrder to { _id:-1, cl:1, user_id:1 }.

Powodem jest to, że $lt w _id i $in w user_id stanowią zakresy w wielu „zasobach” indeksów. Indeks dowolnej innej kolejności niż powyższe oznacza, że ​​te zasobniki muszą być nadal posortowane razem, aby spełnić sortowanie według _id. Umieszczając _id na pierwszym miejscu, wszystkie dokumenty odwiedzane w indeksie zostaną odpowiednio uporządkowane z wyprzedzeniem.

Zauważ, że jest to niewielka poprawa w stosunku do sugestii Andre ({ _id:-1, user_id:1, cl:1 }, co powinno również unikać scanAndOrder), ponieważ umożliwia proste sprawdzenie równoważności w cl w celu przycięcia wyników.

Sprawdź http://blog.mongolab.com/2012/06/cardinal- ins/ po więcej szczegółów.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB — Błąd:polecenie getMore nie powiodło się:nie znaleziono kursora

  2. W jaki sposób Express wie, której ścieżki routera użyć, gdy wiele ścieżek jest zgodnych?

  3. Pobierz listę przedmiotów, sprawdzając wiele wartości atrybutów w MongoDB w golang

  4. Powłoka MongoDB:jak wyszukiwać kolekcje pasujące do nazwy lub wyrażenia regularnego

  5. Mongoose - Wyszukaj tekst w trzech polach na podstawie wyniku lub wagi