Mysql
 sql >> Base de données >  >> RDS >> Mysql

Différentes mises à jour de PyMySQL en une seule requête ?

Vos meilleures performances seront si vous pouvez encoder vos "tests" dans la logique SQL elle-même, de sorte que vous puissiez tout résumer à une poignée d'instructions UPDATE. Ou au moins, faites-en autant que possible de cette façon, de sorte que moins de lignes doivent être mises à jour individuellement.

Par exemple :

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

Vous ne décrivez pas grand-chose de vos tests, il est donc difficile d'en être sûr. Mais vous pouvez généralement obtenir beaucoup de logique dans votre clause WHERE avec un peu de travail.

Une autre option serait de mettre votre logique dans une procédure stockée. Vous ferez toujours 350 000 mises à jour, mais au moins elles ne "passeront pas toutes par le fil". Je n'utiliserais cela qu'en dernier recours, cependant; la logique métier doit être conservée dans la couche application dans la mesure du possible, et les procédures stockées rendent votre application moins portable.