PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

psycopg2:chèn nhiều hàng với một truy vấn

Tôi đã xây dựng một chương trình chèn nhiều dòng vào một máy chủ được đặt ở một thành phố khác.

Tôi phát hiện ra rằng sử dụng phương pháp này nhanh hơn khoảng 10 lần so với executemany . Trong trường hợp của tôi tup là một bộ chứa khoảng 2000 hàng. Mất khoảng 10 giây khi sử dụng phương pháp này:

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) 

và 2 phút khi sử dụng phương pháp này:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối bị từ chối (PGError) (postgresql và rails)

  2. Sử dụng jsonb_set () để cập nhật giá trị mảng jsonb cụ thể

  3. Cách hoạt động của hàm Degrees () trong PostgreSQL

  4. Truy vấn postgresql giữa các phạm vi ngày

  5. Định cấu hình PostgreSQL cho sự liên tục trong kinh doanh