Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie w bazie MONGO
Forum PHP.pl > Forum > Bazy danych
sada
Witam!
Nie widzę tu wprawdzie działu MONGO ale spytać nie zaszkodzi.

Mam na razie niewielką kolekcję (ok 60000 rekordów) w Mongo, i martwi mnie, że już teraz skrypcik w PHP wyszukujący w tej kolekcji potrzebuje czasami kilkanaście sekund aby zrealizować proste zapytanie .
Sprawdziłem cały skrypt microtime-ami i wiem już gdzie jest hund gegraben ale nie wiem jak to obejść.
Okazuje się najtrudniejsze zapytania z regexami przelatuje błyskawicznie a muli kiedy trzeba cursor wynikowy zamienić na tablicę.
Dawniej robiłem to funkcją:
  1. iterator_to_array($cursor)

ale po przekroczeniu 50000 skrypt się wieszał bo funkcja ta pobierała cały kursor na raz i trwało to bardzo długo
teraz robię to pętlą:
  1. while ($value =$cursor->getNext()){
  2. ...
  3. ...
  4. }

i jest ok, czas trochę krótszy nie wiesza się ale mimo wszystko dla mnie za długo.
Czy macie jakieś doświadczenia lub chociaż pomysły oprócz indeksowania?

pozdrawiam
mmmmmmm
Cursory są generalnie wolne. A nawet bardzo wolne. Zamień to na coś bardziej rozsądnego (SELECT)... Czemu musisz używać kursora?
sada
Mówimy o tej samej bazie?
www.aukcje.fm
Witam,

O tej samej bazie. Zwykłe select daje radę, zobacz tutaj

http://www.progresowi.pl/2011/11/10/porown...vs-mongodb.html

np masz :

db.baza.find({'fraza':4});

Po drodze mam pytanie, chcemy tego mongoła dla 1 miliarda rekordów użyć (wyszukiwarka stron chrześcijańskich) czy ma na to pole do popisania się questionmark.gif smile.gif
sada
Spytałem czy mówimy o tej samej bazie bo w Mongo nie ma SELECT graduated.gif

Czy można ją użyć do twojego przypadku? Nie wiem , mam nadzieję , że tak , dlatego ją stosujemy ale jesteśmy na początku drogi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.