Lo sviluppatore MySQLdb consiglia di creare un'API specifica per l'applicazione che esegua l'accesso al DB per te in modo da non doversi preoccupare delle stringhe di query mysql nel codice dell'applicazione. Renderà il codice un po' più estensibile (link ).
Per quanto riguarda i cursori, la mia comprensione è che la cosa migliore è creare un cursore per operazione/transazione. Quindi alcuni check value -> update value -> read value
tipo di transazione potrebbe utilizzare lo stesso cursore, ma per quella successiva ne creeresti uno nuovo. Questo indica ancora una volta la direzione della creazione di un'API interna per l'accesso db invece di avere un generico executeSql
metodo.
Ricorda inoltre di chiudere i cursori e di confermare le modifiche alla connessione al termine delle query.
Il tuo getDatabaseResult
la funzione non ha bisogno di avere una connessione per ogni query separata però. Puoi condividere la connessione tra le query purché tu agisca in modo responsabile con i cursori.