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

SQLAlchemy Core групово вмъкване бавно

Бях разстроен, когато видях, че това няма отговор... Сблъсках се с абсолютно същия проблем онзи ден:Опитвам се да вмъкна масово около милиони редове в екземпляр на Postgres RDS, използвайки CORE. Отне часове .

Като заобиколно решение в крайна сметка написах свой собствен скрипт за групово вмъкване, който генерира самия необработен sql:

bulk_insert_str = []
for entry in entry_list:
    val_str = "('{}', '{}', ...)".format(entry["column1"], entry["column2"], ...)
    bulk_insert_str.append(val_str)

engine.execute(
    """
    INSERT INTO my_table (column1, column2 ...)
    VALUES {}
    """.format(",".join(bulk_insert_str))
)

Макар и грозно, това ми даде необходимата производителност (~500 000 реда/минута)

Намерихте ли базирано на CORE решение? Ако не, надявам се това да помогне!

АКТУАЛИЗАЦИЯ:В крайна сметка преместих стария си скрипт в резервен екземпляр на EC2, който не използвахме, което всъщност поправи проблема с ниската производителност. Не съм сигурен каква е вашата настройка, но очевидно има мрежово напрежение при комуникация с RDS от външна (не-AWS) връзка.



  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 използва ли tf-idf?

  2. Еквивалент на функцията FOUND_ROWS() в Postgresql

  3. Какво е правилото за „неизвестен“ и извод за тип?

  4. Как да внедря пълнотекстово търсене на китайски в PostgreSQL?

  5. Как да създадете TimescaleDB Hypertable с времево разделяне на неуникален времеви печат?