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

W MongoDB, jeśli indeks znajduje się na 3 polach, możemy użyć tego indeksu podczas zapytania o 2 pola? (wildcard na 3 polu)

Są to indeksy B-drzewa, więc mogą być używane jako podzbiór przedrostków danych kolumn. Jeśli nie masz wiodących kolumn, skanowanie zakresu indeksu (operacja, do której używany jest głównie indeks B-drzewa) nie jest już możliwe. Mogą istnieć inne sposoby, aby nadal używać indeksu (na przykład Oracle ma szybkie pełne skanowanie i pomijanie skanowania), ale zwykle indeks nie będzie używany.

To rozumowanie dotyczy wszystkiego, co używa indeksów B-drzewa, relacyjnej bazy danych lub nie.

Ponownie, nie zależy to od typu kolumny, ale od kolejności kolumn w indeksie. Musisz mieć wiodące kolumny (w twoim przypadku potrzebujesz page_type). Jeśli masz wiele zapytań bez page_type, rozważ odtworzenie indeksu z page_type jako ostatnią kolumną (co oczywiście może mieć negatywny wpływ na inne zapytania). Ogólnie rzecz biorąc, musisz wiedzieć, jakiego rodzaju zapytania będziesz uruchamiać, zanim będziesz mógł zaprojektować indeksy.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MEAN-Stack zapisz tablicę w MongoDB za pomocą mongoose

  2. Przechowywanie hierarchii katalogów w magazynie danych klucz-wartość

  3. Mongoose _id zmieniony przed zapisaniem

  4. Railsy 3 korzystające z MongoDB za pośrednictwem adaptera mongoid — czy istnieje sposób udostępniania specyfikacji atrybutów bez korzystania z dziedziczenia jednotabelowego?

  5. Dodać zestaw replik pomocniczych w tej samej maszynie?