Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL, dovrei rimanere connesso o connettermi quando necessario?

I server MySQL sono configurati per gestire un numero limitato di connessioni fisso. Non è una buona pratica legare una connessione che non usi costantemente. Quindi in genere dovresti chiudere la connessione non appena hai finito e riconnetterti solo quando ne hai bisogno di nuovo. Le connessioni di MySQLdb sono gestori di contesto, quindi potresti usare with-statement sintassi per rendere automatica la chiusura della connessione.

connection = MySQLdb.connect(
    host=config.HOST, user=config.USER,
    passwd=config.PASS, db=config.MYDB, )
with connection as cursor:
    print(cursor)
    # the connection is closed for you automatically 
    # when Python leaves the `with-suite`.

Per la robustezza, potresti voler usare try... tranne che per gestire il caso quando (anche alla prima esecuzione) connect non riesce a stabilire una connessione.

Detto questo, lo metterei semplicemente in una voce crontab e farei a meno di dormire.