cinnek
19.03.2004, 15:22:05
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?

?
shima
19.03.2004, 15:39:27
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
19.03.2004, 17:24:58
Bez różnicy... a jeśli trzymasz sesje w bazie to na jedno wychodzi.
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
19.03.2004, 17:58:28
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
19.03.2004, 18:07:18
jak nie ma różicy to zrobie na sesji bo tak mi wygodniej
BzikOS
19.03.2004, 21:18:58
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
20.03.2004, 12:59:00
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
20.03.2004, 14:29:40
[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
20.03.2004, 15:37:45
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.