Ponieważ połączenia są dość drogie, jak zauważyli inni, zalecam użycie techniki „leniwego łączenia” w warstwie bazy danych. Jeśli skutecznie ustrukturyzowałeś aplikację, logika aplikacji nie powinna zajmować się otwieraniem i zamykaniem połączeń, ponieważ byłoby to hermetyzowane w warstwie bazy danych. Warstwa bazy danych poproszona o wykonanie zapytania najpierw sprawdzi, czy ma aktywne połączenie, a jeśli nie, utworzy je. W ten sposób unikniesz otwierania połączeń, które nigdy nie są używane, a także będziesz mieć ładne oddzielenie logiki między aplikacją a kodem bazy danych.