Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja skryptów - baza mysql
Forum PHP.pl > Forum > PHP
radmistrz2
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łquestionmark.gif
elmozaur
chyba musisz podac kawalek kodu . Wtedy bedzie latwiej cos wymyslic
f1xer
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
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
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
7 zapytań do bazy bardzo obciąży serwer przy załadowaniu jednej strony??
MWL
zależy od jakości tych zapytań i wielkości przetwarzanych danych...
Crozin
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
MWL
z drugiej strony, jeśli radmistrz chciałby pobrać dane o wszystkich użytkownikach, biletach itp. linii lotniczych mogło by to zająć wieki tongue.gif
radmistrz2
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
MWL
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.