PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

psycopg2:вмъкване на няколко реда с една заявка

Създадох програма, която вмъква няколко реда към сървър, който се намира в друг град.

Открих, че използването на този метод е около 10 пъти по-бързо от executemany . В моя случай tup е кортеж, съдържащ около 2000 реда. При използване на този метод отне около 10 секунди:

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) 

и 2 минути при използване на този метод:

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. Първични ключове за препращане към външни ключове на POSTGRESQL на две различни таблици

  2. Мигриране на PostgreSQL към облака – Сравняване на решения от Amazon, Google и Microsoft

  3. PostgreSQL как да видите кои заявки са изпълнени

  4. Получаване на списък с дати в диапазон в PostgreSQL

  5. Привилегии на PostgreSQL и управление на потребителите – какво трябва да знаете