Witam,
zmieniam trochę swój kod i wykonałem połączenie z bazą danych, ale zastanawia mnie która z podanych poniżej czynności spowoduje szybsze i bezpieczniejsze połączenie.
Wersja 1
- Podczas tworzenia obiektu (w konstruktorze) łączę się z bazą danych i pobieram istotne informacje (nie zamykam połączenia).
- Dodaję jakiś rekord
- W destruktorze robię mysql_close
Wersja 2
- Podczas tworzenia obiektu (w konstruktorze) łączę się z bazą danych i pobieram istotne informacje (nie zamykam połączenia), oraz zamykam połączenie
- Każda operacja typu pobranie, usunięcie, zamiana, dodanie na nowo łączy się z bazą danych, wykonuje czynność i zamyka połączenie.
Tylko teraz tak. Teoretycznie w Wersji 1 zaletą jest szybsze działanie, ale połączenie jest otwarte cały czas więc bezpieczeństwo spada - mimo to z tego co pamiętam to destruktor jest wykonywany na końcu wykonywania skryptu.
Natomiast dla Wersji 2 jest odwrotnie - bezpieczniejsza, ale za każdym razem trzeba się łączyć.
Co myślicie o tych rozwiązaniach ? Które jest korzystniejsze, czyli szybsze i bezpieczniejsze ? Chyba że różnica w bezpieczeństwie jest znikoma.