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

PyMySQL aggiornamenti diversi in una query?

Le tue migliori prestazioni saranno se riesci a codificare i tuoi "test" nella logica SQL stessa, in modo da poter ridurre tutto a una manciata di istruzioni UPDATE. O almeno eseguine il maggior numero possibile in questo modo, in modo che meno righe debbano essere aggiornate singolarmente.

Ad esempio:

UPDATE tablename set firstname = [some logic]
WHERE [logic that identifies which rows need the firstname updated];

Non descrivi molto dei tuoi test, quindi è difficile esserne sicuri. Ma in genere puoi ottenere molta logica nella tua clausola WHERE con un po' di lavoro.

Un'altra opzione sarebbe quella di inserire la tua logica in una stored procedure. Farai ancora 350.000 aggiornamenti, ma almeno non tutti "andranno oltre il filo". Lo userei solo come ultima risorsa, però; la logica aziendale dovrebbe essere mantenuta nel livello dell'applicazione quando possibile e le procedure archiviate rendono l'applicazione meno portabile.