Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapisac do sesji czy odpytywac bazę
Forum PHP.pl > Forum > PHP
cinnek
Mam taki problem.
Na stronie mam kilka rozwijanych list słuzących do wypełniania zamówienia i w każdej jest od kilkanastu do kilkudziesieciu pozycji . Pozycje te mam w bazie i tu moje pytanie czy przy każdym wejsciu na te strone z rozwijalnymi listami(1 wejscie dla każdego towaru w zamowieniu) pobierac zawartosc list z bazy czy może pobrac raz i zapisać w sesji.
Jak cos takiego sie zwykle robi?questionmark.gif?
shima
Zależy ile razy wykorzystujesz. Raz możesz pobrać, bo i tak musisz, ale jeżeli używasz ich wielokrotnie, to pobieranie może wydłużyć znacznie czas ladowania strony.
BzikOS
Bez różnicy... a jeśli trzymasz sesje w bazie to na jedno wychodzi.
id4
Witam

W kwestii wydłużenia ładowania strony to nie bardzo. W większości przypadków to łącza decydują o szybkości wyświetlenia strony a nie jedno połączenie z bazą więcej czy mniej.
shima
Cytat
Witam

W kwestii wydłużenia ładowania strony to nie bardzo. W większości przypadków to łącza decydują o szybkości wyświetlenia strony a nie jedno połączenie z bazą więcej czy mniej.

Mam nieco inne doświadczenia. Duża ilość zapytań do bazy, nawet na serwerze będącym w sieci lokalnej, powoduje zuważalne spowolnienie działania. Natomiast co do "trzymania sesji w bazie", to o co chodzi?
cinnek
jak nie ma różicy to zrobie na sesji bo tak mi wygodniej
BzikOS
Cytat
Natomiast co do "trzymania sesji w bazie", to o co chodzi?


O to że można, samemu zdefiniować sobie gdzie dane sesyjne mają być zapisywane i bardzo często trzyma się je po prostu w bazie danych (ja np. zawsze tak robię).
Poczytaj o [manual:546e9d69a9]session_set_save_handler[/manual:546e9d69a9].
shima
Cytat
Cytat
Natomiast co do "trzymania sesji w bazie", to o co chodzi?


O to że można, samemu zdefiniować sobie gdzie dane sesyjne mają być zapisywane i bardzo często trzyma się je po prostu w bazie danych (ja np. zawsze tak robię).
Poczytaj o [manual:472c07ae05]session_set_save_handler[/manual:472c07ae05].


Chyba mylimy pojęcia:

[quote]
Jest to bardzo przydatne jeśli preferowany

Jeżeli nie zależy Ci na szybkości, lub masz mało danych ew. Twoja baza jest na tym samym kompie na którym serwis...
Każdy robi jak potrzebuje
BzikOS
[quote]Chyba mylimy pojęcia:

[quote]
Jest to bardzo przydatne jeśli preferowany

Nie rozumiem do czego zmierzasz i dlaczego uważasz, że mylimy pojęcia? :?
Ja preferuję przechowywanie danych sesyjnych w bazie i myślę, że nie tylko ja, więc w przypadku gdy sesja jest przechowywana w bazie (oczywiście, gdy DB jest na tym samym serverze co httpd) to nie ma żadnej różnicy szybkościowej pomiędzy wyciąganiem danych z bazy, a z sesji...
shima
Zgadzam się, dlatego ta dyskusja staje się zbyt akademicka. Używasz bazy i OK. Ale jeżeli cinnek będzie korzystał ze standardowego mechanizmu, to korzystanie z danych zapisanych w $_SESSION będzie szybsze, zwłaszcza w sytuacji opisanej przeze mnie powyżej. Dodatkowe pytanie brzmi, czy dane sesyjne mają być zachowywane pomiędzy sesjami, ale to chyba wykracza poza ten wątek. I, jak już napisałem, przetestowałem czas odpowiedzi dla dużej ilości zapytań. I tyle.
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.