On 13/06/23 09:18, Giuliano Curti wrote:
1) Connessione db.
Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto?

Scusami, mi sono accorto ora che usi SQLite.

Con SQLite le connessioni in scrittura aprono il database bloccando altre connessioni, per cui se hai più processi o thread è necessario aprirle e chiuderle ad ogni uso.

Qui puoi approfondire per le connessioni concorrenti:

https://www.sqlite.org/cgi/src/doc/begin-concurrent/doc/begin_concurrent.md

E' meglio usare le connessioni in modalità Context Manager: ci pensa il context manager ad effettuare il commit appena finito. Fintanto che il commit non è fatto i dati non vengono salvati effettivamente su disco.

Qui hai un esempio:

https://docs.python.org/3/library/sqlite3.html#sqlite3-connection-context-manager

Gentili saluti,
Davide Muzzarelli
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a