Insérations groupées à l'aide de SQLAlchemy ORM
Lors de l'insertion de données dans une base de données, l'efficacité est cruciale. Par défaut, SQLAlchemy insère des objets individuels dans des tables, ce qui peut prendre plus de temps pour les opérations groupées.
SQLAlchemy prend-il en charge les insertions groupées ?
Oui. À partir de la version 1.0.0, SQLAlchemy inclut des opérations en masse. Ceux-ci vous permettent d'effectuer des insertions ou des mises à jour en masse en une seule transaction.
Comment effectuer des insertions en masse
Pour effectuer une insertion en masse à l'aide de SQLAlchemy ORM, suivez ces étapes :
Par exemple :
s = Session() objects = [ User(name="u1"), User(name="u2"), User(name="u3") ] s.bulk_save_objects(objects) s.commit()
Amélioration des performances avec les sessions
Par défaut, SQLAlchemy valide chaque opération immédiatement. Pour améliorer les performances des insertions groupées, vous pouvez désactiver la validation automatique et la validation manuelle une fois tous les objets ajoutés. Cela garantit que les données sont chargées dans la base de données en une seule transaction. Notez toutefois que la désactivation de la validation automatique peut entraîner des problèmes de cohérence des données si des erreurs se produisent.
Pour désactiver la validation automatique, définissez le paramètre de validation automatique sur False lors de la création de la session. Ensuite, validez manuellement la session une fois tous les objets ajoutés :
s = Session(autocommit=False) s.bulk_save_objects(objects) s.commit()
En utilisant des opérations en masse et en optimisant l'utilisation de la session, vous pouvez améliorer considérablement les performances de vos applications SQLAlchemy ORM pour les tâches d'insertion de données en masse.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!