![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Kanapa Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałem zapytać czy jest jakieś polecenie/wywołanie do zamknięcia połączenia przy PDO i mysql ?
Znalazłem takie coś w skryptach/książkach, i bardzo ciekawie się to sprawdza tylko że niestety niewiem czemu generuje to 25tyś połączeń przy 20użytkownikach.. Czy ktoś jest mi wstanie pomóc/ przerobić to tak żeby nie było połączenia/inicjacji bazy przy każdym dbQuery() ? Ew czy to można jakoś zamknąć ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 10 Dołączył: 30.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zwykłe PDO jak najbardziej potrafi zrobić jedno połączenie. Tylko chodzi o to żeby nie robił tych połączeń przy każdym zapytaniu tylko maksymalnie raz podczas jednego requesta. Nie wiem jak to prościej wyjaśnić ... może wyobraź sobie że masz do wykonania 100 zapytań do bazy danych.
Masz do wyboru: - przed każdym zapytaniem tworzysz nowe połączenie z bazą danych i wykonujesz zapytanie (łącznie wykonujesz 100 połączeń z bazą danych i 100 zapytań) - tworzysz jedno połączenie z bazą danych i używając tylko tego jednego połączenia wykonujesz kolejno 100 zapytań (łącznie 1 połączenie z bazą danych i 100 zapytań) Efekt końcowy będzie taki sam. Jak myślisz, które rozwiązanie jest lepsze? Tak, jak wstawisz $dbs = null na koniec dbquery to połączenia będą zamykane - zresztą masz to jak wół napisane w dokumentacji http://www.php.net/manual/en/pdo.connections.php Jeśli nie przeszkadza Ci że przy każdym zapytaniu będziesz od nowa łączył się z bazą danych to nie ma problemu. Ten post edytował Methestel 10.12.2013, 20:26:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 02:18 |