Maison >développement back-end >Tutoriel Python >Comment la méthode « mogrify » de Psycopg2 peut-elle accélérer les insertions de plusieurs lignes ?

Comment la méthode « mogrify » de Psycopg2 peut-elle accélérer les insertions de plusieurs lignes ?

DDD
DDDoriginal
2024-11-25 03:32:15246parcourir

How Can Psycopg2's `mogrify` Method Speed Up Multiple Row Inserts?

Insérer efficacement plusieurs lignes avec Psycopg2

Psycopg2 propose une méthode mogrify qui peut simplifier la tâche d'insertion de plusieurs lignes dans une base de données avec un seul requête. Cette approche peut s'avérer plus efficace que l'utilisation de la méthodeexecutemany, en particulier pour les grands ensembles de données.

Pour illustrer, l'extrait de code suivant montre comment insérer 2 000 lignes dans une table :

args = [(1, 2), (3, 4), (5, 6)]
args_str = ','.join(cur.mogrify("(%s,%s)", x) for x in tup)
cur.execute("INSERT INTO table VALUES " + args_str)

Ceci La méthode s'est avérée nettement plus rapide que l'utilisation d'executemany dans ce scénario spécifique, ne prenant que 10 secondes contre 2 minutes. La méthode mogrify dans psycopg2 prépare une chaîne de requête pour chaque ligne, évitant ainsi d'avoir à parcourir la liste des lignes plusieurs fois comme l'exige la méthodeexecutemany.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn