Mam ponad 300 000 rekordów w jednej kolekcji w Mongo.Powolne dzielenie stron na tony rekordów w mongodb
Kiedy uruchomić to bardzo proste zapytanie:
db.myCollection.find().limit(5);
To trwa tylko kilka milisekund.
Ale gdy używam pominąć w zapytaniu:
db.myCollection.find().skip(200000).limit(5)
To niczego nie powrócić ... biegnie przez kilka minut i nic nie zwraca.
Jak zrobić to lepiej?
Wydaje się to naprawdę dobre. Dlaczego nie widzę więcej osób, które to sugerują? – steve
Ograniczenie polega na tym, że można przesuwać się tylko o jedną stronę w przód lub wstecz, zamiast przeskakiwać do określonej strony, ale w przypadku ograniczonego użycia uważam, że działa dobrze. – Russell
Fajny pomysł. Jeśli naprawdę nie zależy ci na sortowaniu (innym niż do tego celu) i nie chcesz sortować ani tworzyć indeksu, wydaje się, że możesz pominąć krok i skorzystać z pola ObjectId (_id), które będzie być indeksowane ... możliwe, że identyfikatory obiektów zostaną poddane recyklingowi, ale znowu nie ma to znaczenia w tym przypadku. – jsh