Open GoogleCodeExporter opened 9 years ago
Mamy limit połączeń do bazy - czy przy takiej architekturze nie jest
przypadkiem tak, że jeden skrypt PHP może wszystkie te połączenia zabrać
dla siebie?
Bo jeśli np. korzystamy z N klas, a każda z nich ma własne połączenie, to
wykorzystamy N połączeń jednocześnie. To by tłumaczyło dlaczego ostatnio
musieliśmy ten limit połączeń zwiekszyć - poprzednia implementacja
zjadała max 1 połączenie na jeden request, a nowa może ich zjeść -
teoretycznie - nawet wszystkie.
Original comment by rygielski
on 3 Dec 2014 at 8:11
Niedawno też na to wpadłem :-)
przygotowałem dodatkowe opakowanie klasy w singletona, ale na razie jest w
gałęzi medals - (możecie tam podejrzeć), ale z niedługo wrzucę - w sumie
mogę wrzucić już, bo wszystko co w tej gałęzi napisałem, oprócz klasy
bazodanowej nie jest spięte z resztą systemu.
Nie zmieniłem samej klasy w singletona, bo są miejsca, gdzie są używane
równolegle dwie instancje.
Na pracę bazy z dwoma różnymi wskaźnikami nie mam pomysłu. to by mogło
rozwiżać problem istnienia gdzieś tam dwóch instancji. Jak byś to
rozwiązał?
Original comment by wloczynutka
on 3 Dec 2014 at 8:46
PS: dlaczego ładowanie wszystkich wyników do pamięci jest nieoptymalne? To
zależy od ilości spodziewanych danych, ale to z czym mamy do czynienia w OC
jest zazwyczaj leciutkie. No chyba ze ktoś pobierze bez limitu * from caches
where 1 :)
Original comment by wloczynutka
on 3 Dec 2014 at 8:53
> Na pracę bazy z dwoma różnymi wskaźnikami nie mam pomysłu. to by mogło
rozwiżać problem istnienia gdzieś tam dwóch instancji. Jak byś to
rozwiązał?
Użyłbym czystego PDO. Metoda query zwraca kursor. Zdaje się, że wystarczy
ją wykonać dwa razy i mamy dwa kursory, i nadal tylko jedno połączenie.
> PS: dlaczego ładowanie wszystkich wyników do pamięci jest nieoptymalne?
Bo zużywa więcej pamięci niż nieładowanie :) W przypadku małych zestawów
danych faktycznie nie ma to znaczenia.
Original comment by rygielski
on 3 Dec 2014 at 8:58
Commituję szkielet takiej moim zdaniem optymalnej konstrukcji wraz z #179.
Original comment by rygielski
on 3 Dec 2014 at 9:12
Original issue reported on code.google.com by
rygielski
on 3 Dec 2014 at 8:02