Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 24.02.2010 Ostrzeżenie: (0%)
|
Witam!
Mam taki dylemat(prawdopodobnie z powodu mojej niewiedzy): Czy w ciągu jednego przebiegu skryptu lepszym rozwiązaniem jest wywoływać funkcje mysql aby połączyć się z baza przy okazji wystąpienia każdej potrzeby pobrania/zapisu danych, a następnie połączenie zamykać - czy też uchwyt do połączenia przechować w jakiejś zmiennej(np. polu klasy)? Myślę, że pomogło by mi porównanie - proste zapytanie vs łączenie. Pozdrawiam i z góry dziękuję za odpowiedzi. Ten post edytował SpokoJny_ 27.08.2010, 18:13:31 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 24.02.2010 Ostrzeżenie: (0%)
|
Gdy moja strona nie przekracza 15 klas, wtedy warto?
A np jak to jest rowiązane w większych projektach np profesjonalnych forach? TESTY PRAKTYCZNE Myślę, że najlepiej jest po prostu sprawdzić (IMG:style_emoticons/default/winksmiley.jpg) Będziemy liczyć stosunek: czas połączenia z bazą/czas wykonania zapytania. W obu przypadkach użyta jest funkcja microtime oraz round z takimi samymi parametrami, tak więc przy liczeniu stosunku nie ma to znaczenia. W bazie 'sm' znajduje się tabela 'admins': adminid(tinyint) - login(char(32)) - password(char(32)) oraz 10 rekordów ---------- Sytuacja idealna (1user) ------------ Kod ustalający ile trwa łączenie w sytuacji idealnej (1 user, serer na jednym komputerze z klientem):
Kod ustalający ile trwa czas zapytania:
Wyniki(średnia "na oko") połączenie: 0,001 zapytanie: 0,0002 połączenie/zapytania = 5 ---------- Sytuacja idealna - kod symulujący pracę między zapytaniami ---------- Kod z wieloma połączeniami
Kod z ciągłym połączeniem:
Wyniki: Ciągłe utrzymywanie w znacznej większości przypadków nieznacznie szybsze od przerywanego. Podsumowanie Ponowne łączenie kosztuje nieznaczne ilości czasu, jednak przy małych odstępach czasu między kolejnymi zapytaniami warto połączenie utrzymać. Przy dużej liczbie zapytań łączenie i zamykanie połączenia przy każdym zapytaniu jest już nieładną praktyką i nie sprzyja wydajności. Ktoś może się pokusić o przeprowadzenie innych testów, lub sprawdzenie wyników. Myślę, że mogą się nawet znacznie różnić. Wiem, że nie odkryłem tutaj ameryki, ale może ktoś wpisując w google "czy podtrzymywać połączenie z bazą" będzie miał jaśniejszy obraz sytuacji. Można też po prostu wykonać testy praktyczne swojego skryptu. Pozdrawiam - mam nadzieje, że komuś to pomogło. Ten post edytował SpokoJny_ 28.08.2010, 15:49:52 |
|
|
|
SpokoJny_ Czy opłaca się utrzymywać połączenie z bazą? 27.08.2010, 18:10:59
lDoran Najwięcej zasobów jest używanych przy połączeniu z... 27.08.2010, 19:03:39 
mkozak Twój pomysł jest zły. To tylko spowoduje spadek wy... 27.08.2010, 21:58:41
vokiel Wygenerowanie strony to jest jedna całość, i tak n... 27.08.2010, 19:26:13
cojack Błędne testowanie, używanie global spowalnia aplik... 28.08.2010, 14:58:55
SpokoJny_ Bardzo dobrze, że zwróciłeś na to uwagę.
Poprawiłe... 28.08.2010, 15:52:53
cojack Wyniku nie podałeś
@edit
a pozatym dodaj sobie t... 28.08.2010, 17:20:46
Pilsener Połączenie powinno być nawiązane wtedy, gdy jest w... 28.08.2010, 21:13:18 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 11:11 |