W Pythonie utworzyłem bibliotekę, która zawiera funkcje dostępu do bazy danych. Jest to biblioteka otoki wokół bazy danych aplikacji innych firm, napisana z powodu faktu, że aplikacja innej firmy nie oferuje przyzwoitego interfejsu API. Teraz początkowo pozwalałem każdej funkcji otwierać połączenie z bazą danych na czas trwania wywołania funkcji, co było OK, dopóki moja logika programu nie używała zagnieżdżonych wywołań funkcji, w których wówczas wywoływałabym określoną funkcję kilka tysięcy razy. To nie było zbyt wydajne. Profilowanie tego pokazało, że narzut był w konfiguracji połączenia z bazą danych - raz na wywołanie funkcji. Dlatego przeniosłem otwarte połączenie z funkcji do samego modułu, aby połączenie z bazą danych zostało otwarte podczas importowania modułu biblioteki. To dało mi akceptowalną wydajność.
Teraz mam dwa pytania dotyczące tego. Po pierwsze, czy muszę się martwić, że nie zamykam już wyraźnie połączenia z bazą danych i jak mogę to zrobić w tej konfiguracji? Po drugie, czy to, co zrobiłem, nie jest zbliżone do obszaru dobrych praktyk i jak mógłbym do tego podejść?
openConn
funkcję i spraw, aby użytkownik przekazał ją do każdej wywoływanej funkcji, w ten sposób można zawęzić zakres połączenia wwith
instrukcji lub czymkolwiek innym