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

Powolne zapytanie o zakres w indeksie wielokluczowym

Znalazłem odpowiedź w tym pytaniu:Kolejność $lt i $gt w zapytaniu zakresu MongoDB

Mój indeks jest indeksem wielokluczowym (na tags ) i uruchamiam zapytanie o zakres (w post_time ). Najwyraźniej , MongoDB nie może w tym przypadku używać obu stron zakresu jako filtru, więc po prostu wybiera $gte klauzula, która jest na pierwszym miejscu. Ponieważ mój dolny limit jest najniższym post_time MongoDB rozpocznie skanowanie wszystkich obiektów.

Niestety to nie wszystko. Próbując rozwiązać ten problem, stworzyłem również indeksy bez wielu kluczy, ale MongoDB nalegał na użycie złego. To sprawiło, że pomyślałem, że problem leży gdzie indziej. W końcu musiałem usunąć indeks multikey i utworzyć go bez tags pole. Teraz wszystko jest w porządku.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytanie o sumę MongoDb

  2. Spring data mongodb usuwa właściwość z dokumentu za pomocą MongoTemplate

  3. Mongoose Zmiana formatu schematu

  4. Dodawanie wartości do tablicy w MongoDB za pomocą Java

  5. Implementacja paginacji w mongodb