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!