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

DDD
Libérer: 2024-11-25 03:32:15
original
167 Les gens l'ont consulté

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal