Insertion en masse avec SQLAlchemy ORM
L'insertion en masse est une technique utilisée pour insérer efficacement plusieurs enregistrements dans une base de données en une seule opération. Grâce à l'insertion groupée, nous pouvons améliorer considérablement les performances du transfert de données par rapport à l'insertion d'enregistrements individuels un par un.
Dans SQLAlchemy, les dernières versions (1.0.0 et supérieures) offrent une méthode pratique pour l'insertion groupée appelée vrac_save_objects(). Cette méthode vous permet d'insérer une liste d'objets dans une base de données en une seule transaction.
Par exemple, supposons que vous ayez une liste d'objets représentant des utilisateurs :
objects = [ User(name="u1"), User(name="u2"), User(name="u3") ]
Vous pouvez utiliser le méthode Bulk_save_objects() pour insérer ces objets dans votre base de données :
s = Session() s.bulk_save_objects(objects) s.commit()
En utilisant la méthode d'insertion en bloc, vous consolidez efficacement plusieurs instructions d'insertion en une seule opération, réduisant ainsi les frais généraux associés aux insertions individuelles. Cela peut entraîner une amélioration notable des performances, en particulier pour les grands ensembles de données.
De plus, l'optimisation de votre utilisation des sessions peut améliorer encore les performances. Le paramètre autoCommit=False vous permet d'exécuter plusieurs opérations au sein d'une seule transaction, réduisant ainsi le nombre d'interactions avec la base de données. Cependant, sachez que cela peut entraîner des problèmes de données obsolètes si la base de données change en externe pendant la transaction. Pour atténuer cela, envisagez d'utiliser la méthode rafraîchir() pour récupérer des données à jour de la base de données.
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!