Pogledajte određenu poruku
Staro 19. 02. 2011.   #1
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default MySQL - Fetch Velike kolicine podataka

Po drugi put u vrlo kratkom vremenu imam slican problem pa sam resio da ovde pitam sa savet umesto da kopam po google-u.

Dakle, imam povecu tabelu sa .com domenima (stotinak miliona) i script koji treba da obradi sve. Dakle nesto poput ovoga:

PHP kôd:
$query "select domain from com_zone";
$result $db->query($query);
while(
$data $result->fetch())
{
    
//do processing one by one

Problem je sto kad ovako nesto pokrenem load na serveru skoci jako brzo na tipa 300, pocne da swapuje i na kraju krahira. Probao sam da podatke svlacim sa nekim limitom i offsetom (npr: select domain from com_zone limit $offset, 10000) ali cim ofset skoci na malo veci broj stvar postaje spora do bola.

Koliko ja znam nakon selekta MySQL bi trebao da kreira bafer sa podacima koje PHP svlaci preko konekcije, pa kontam da je ovde mozda problem neki (network) buffer size? Ima neko ideju?

Inace pronasao sam u obe situacije workaround i problem cu resiti na drugi nacin posto ne mogu cekati ali me jako interesuje zasto server krahira i uopsteno podesavanja u ovom slucaju.
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat