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

Настройка на производителността на Postgresql и използването на паметта в работен процес на Python

Моето заобиколно решение е да нарязвате putback с проста функция, както е предложено тук :

def chunk(l, n):
    n = max(1, n)
    return [l[i:i + n] for i in range(0, len(l), n)]

и след това

for chunk in chunk(putback, 250000):
    curs.execute("UPDATE table1
                  SET col3 = p.result
                  FROM unnest(%s) p(sid INT, result JSONB)
                  WHERE sid = p.sid", (chunk,))

Това работи, т.е. поддържа отпечатъка на паметта под контрол, но не е много елегантно и е по-бавно от изхвърлянето на всички данни наведнъж, както обикновено правя.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Връщане на класирани резултати от търсене с помощта на gin индекс със sqlalchemy

  2. Не може да се свърже с две бази данни на postgres в rails 3.2.

  3. Използване на логическа репликация на PostgreSQL за поддържане на винаги актуален TEST сървър за четене/запис

  4. PostgreSQL - релация [таблица] не съществува

  5. Връзка на Pyspark с база данни на Postgres в ipython бележник