/ / Efektywna metoda korzystania z wielu połączeń z bazą danych w java - java, baza danych, swing, połączenie

Wydajna metoda korzystania z wielu połączeń z bazą danych w java - java, baza danych, swing, połączenie

Czy jest to skuteczna metoda otwierania bazy danychpołączenie dla każdej operacji bazy danych i odpowiednio zamknąć lub otwórz połączenie na starcie i nadal wywołuj to samo otwarte połączenie dla wielu operacji i zamknij je, gdy wszystkie czynności zostaną wykonane. ?

Tworzę aplikację Java Swing, w której imieć ramkę główną i używając układu karty wybieram inny panel, a każdy z tych paneli ma inną operację bazy danych do wykonania. Obecnie mam otwarte indywidualne połączenie dla każdego panelu, więc gdy otworzę moją główną aplikację, wiele połączeń zostanie otwartych i zamkniętych.

Ponieważ chcę mieć pewność, że robię to, co trzeba i unikam złych praktyk i wąskiego gardła w wydajności, więc zadaję to pytanie Ekspertom Java.

Proszę zasugerować. Dziękujemy za pomoc.

Odpowiedzi:

6 dla odpowiedzi № 1

Nie, nie zaleca się "tworzenia" nowychpołączenie dla każdej transakcji bazy danych. Tworzenie połączeń jest zazwyczaj drogie. Spróbuj użyć puli połączeń, która generuje semantykę otwierania i zamykania połączenia. W ten sposób twoja aplikacja może zadzwonić Connection#close itd. i za kulisami pula będzie pobierać i zwracać połączenia do ankiety połączeń odpowiednio. Istnieje wiele rozwiązań; DBCP, C3P0 lub BoneCP.


1 dla odpowiedzi nr 2

Z pewnością możesz użyć połączenia dla każdegooperacja, jeśli masz pulę połączeń. Tworzenie połączenia jest kosztowne, ale umożliwia to amortyzacja kosztów wszystkich operacji poprzez ich łączenie.

Powinieneś uzyskać połączenie, użyć go i zwrócić je do puli przy każdej operacji, w najmniejszym możliwym zakresie.


0 dla odpowiedzi № 3

Łączenie się z bazą danych jest względnedroga operacja. Zwykle należy użyć puli połączeń. Pula połączeń zawiera kolekcję połączeń z bazą danych, które są gotowe do użycia. Pobieramy połączenie z puli, wykonujemy zapytania dotyczące tego połączenia, a następnie zwracamy je do puli (zwykle odbywa się to poprzez zamknięcie połączenia). Pula połączeń zajmie się tworzeniem nowych połączeń z bazą danych w tle, tak aby w razie potrzeby połączenia nie trzeba było tracić czasu na oczekiwanie.