sql >> Databáze >  >> RDS >> PostgreSQL

psycopg2:vložte více řádků jedním dotazem

Vytvořil jsem program, který vkládá více řádků na server, který byl umístěn v jiném městě.

Zjistil jsem, že použití této metody bylo asi 10x rychlejší než executemany . V mém případě tup je n-tice obsahující asi 2000 řádků. Při použití této metody to trvalo asi 10 sekund:

args_str = ','.join(cur.mogrify("(%s,%s,%s,%s,%s,%s,%s,%s,%s)", x) for x in tup)
cur.execute("INSERT INTO table VALUES " + args_str) 

a 2 minuty při použití této metody:

cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)


  1. Jak vložit zalomení řádku do řetězce SQL Server VARCHAR/NVARCHAR

  2. SQLiteException žádná taková tabulka:ItemTable při kompilaci:Select_id,.... z ItemTable

  3. Dynamická kontingenční tabulka MySQL

  4. Opravit poškozenou databázi postgresql