Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwanie w bazie MONGO
sada
post
Post #1





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


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

Ten post edytował sada 5.10.2012, 17:34:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Cursory są generalnie wolne. A nawet bardzo wolne. Zamień to na coś bardziej rozsądnego (SELECT)... Czemu musisz używać kursora?
Go to the top of the page
+Quote Post
sada
post
Post #3





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


Mówimy o tej samej bazie?
Go to the top of the page
+Quote Post
www.aukcje.fm
post
Post #4





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 4.05.2010

Ostrzeżenie: (20%)
X----


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ę (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sada
post
Post #5





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


Spytałem czy mówimy o tej samej bazie bo w Mongo nie ma SELECT (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 09:58