Ma infatti mi hai frainteso e io mi sono espresso troppo sinteticamente.

Anzitutto la mia versione dell ORM era semplificata e riferita alla gestione delle connessioni. Ovvio che serve per mappare il DB etc etc. É noto anche che il driver gestisce il pool ma appunto sono connessioni aperte a monte e disponibili a tutti. Sarà poi lo stesso driver a chiudere la connessione una volta fatto il commit.

Quello che volevo far emergere è che, considerando i sistemi attuali, tecnicamente si tende ad avere un qualcosa di centralizzato che gestisce le connessioni e le rende disponibili o le chiude su richiesta (commit o timeout).

Sicuramente è vero che avere un pool di connessioni occupa risorse ma oggi giorno è preferibile, per un discorso di performance sui tempi, averle a disposizione per eliminare appunto la latenza dovuta alla connessione.

Su un progetto a cui ho lavortato, ci veniva richiesto che la chiamata E2E fosse intorno agli 1.5s. É facile intuire come, fare rientrare in questo tempo anche l'apertura delle connessioni possa avere impatti importanti.