PDO fetchAll i Allowed memory

Odpowiedz Nowy wątek
2011-04-08 19:12
0

Witam.
O to jest mój kod:
http://code.google.com/p/xvwe[...]aries/SQLDump.XVWeb.class.php

Chodzi dokładnie o linie

foreach($this->Date['XVweb']->DataBase->query('SELECT * FROM `'.$Table[0].'`;')->fetchAll(PDO::FETCH_ASSOC) as $SelectRow)

Błąd:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 846956 bytes) in */core/libraries/SQLDump.XVWeb.class.php on line 28

Tabela waży 200mb. Jak pozbyć się tego defektu?


:)

Pozostało 580 znaków

2011-04-08 19:37
ebreo
0

Albo czytaj porcjami lub sproboj ustawic wiekszy limit pamieci i czasu skryptu:

ini_set(“memory_limit”,”32M”);
set_time_limit(0);

Pozostało 580 znaków

2011-04-08 19:38

to nie rozwiązanie ;< Wiem, mogę ustawić nawet ramy do 8gb, ale na serwerach są ograniczenia ;/ więc tego nie można zmienić.

Porcjami - to już w ostateczności. Lecz myślę że jest jakaś alternatywa do tego.

Chyba rozwiązałem problem:
kod:

$TableRows = $this->Date['XVweb']->DataBase->query('SELECT * FROM `'.$Table[0].'`;');  
                while ($SelectRow = $TableRows->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) // While loop with records / Pętla z reordami tabeli

:)
edytowany 2x, ostatnio: bordeux, 2011-04-08 19:46

Pozostało 580 znaków

2011-04-08 19:47
ebreo
0

jak masz srv wspoldzielony to tak to bywa ;p
porcjami to raczej najlepsze wyjscie...i nie zajedziesz bazy i srv przy wiekszych ilosciach danych...

Pozostało 580 znaków

2011-04-08 19:50
0
ebreo napisał(a)

jak masz srv wspoldzielony to tak to bywa ;p
porcjami to raczej najlepsze wyjscie...i nie zajedziesz bazy i srv przy wiekszych ilosciach danych...

Owszem. Osobiście mogę bez problemu zwiększyć limit. Tylko to jest CMS open source, gdzie każdy może zainstalować gdzie chce, na - prawie - każdym serwerze. Nie mogę w tej sprawie być egoistą, by tylko u mnie działało.


:)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0