radmistrz2
3.10.2008, 16:08:59
Więc tak. Mam kilka funkcji, które wysyłają zapytanie do bazy. W każdej zapytanie jest takie samo. Zamiast zadawać kilka razy to samo zapytanie to dało by się zrobić jakoś tak, aby na zewnątrz nich zadać zapytanie a w środku je przetwarzać?? Z pozoru to mały prolem, ale odpada wywołanie funkcji przez funkcja($zapytanie); - ograniczenie które daje szablon w moim skrypcie. Ma ktoś pomysł
elmozaur
3.10.2008, 18:10:31
chyba musisz podac kawalek kodu . Wtedy bedzie latwiej cos wymyslic
f1xer
3.10.2008, 18:18:52
możesz zrobić jedno zapytanie na początku skryptu i wynik zapisać w cache'u a później korzystać z danych w cache i funkcje zamiast wykonywać zapytanie będą pracować na danych tymczasowych
radmistrz2
3.10.2008, 18:33:10
a cache jest zapamiętywane po stronie serwera czy użytkownika?? Bardzo to obciąży serwer jeśli czasami wynik ma kilkaset tysięcy rekordów??
drPayton
3.10.2008, 21:11:26
Cache jest zawsze po stronie serwera. System obciąża zarówno skrobanie po dysku za cachem, jak i zapytania do bazy, wiadomo.
W najprostszym podejściu cache stosujemy wówczas jeśli dane stosunkowo rzadko są zmieniane. Osobną sprawą jest znaczenie słowa "rzadko". Nie da się określić tego dokładnie, zależy to od zbyt wielu czynników.
Dlatego jedynym rozsądnym rozwiązaniem są testy wydajności z cachem i bez niego...
radmistrz2
4.10.2008, 16:21:52
7 zapytań do bazy bardzo obciąży serwer przy załadowaniu jednej strony??
zależy od jakości tych zapytań i wielkości przetwarzanych danych...
Crozin
4.10.2008, 16:29:13
IPB - a na tym opiera się forum.php.pl - generuje ok. 20 zapytań na stronę (o ile się nie mylę) - a jak widzisz ruch jest spory, a strona działa.
Jednak tak jak już powyżej napisano: dobrze jest zrobić test przed podjęciem decyzji cacheować czy nie
PS. I wysztko zależy od tego jakie to zapytania i jak jest skonstuowana baza
z drugiej strony, jeśli radmistrz chciałby pobrać dane o wszystkich użytkownikach, biletach itp. linii lotniczych mogło by to zająć wieki
radmistrz2
4.10.2008, 18:39:33
noo zapytania mają max po 300 000 wyników. Naszczęście jest tak, że w nich jest instrukcja limit i nie wyświetla mi więcej niż 20 wyników
Dodaj do swojego skryptu licznik czasu. Znajdziesz go w pakiecie PEAR w katalogu bechmark.
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.