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

Điều chỉnh hiệu suất Postgresql và sử dụng bộ nhớ trong quy trình làm việc python

Cách giải quyết khác của tôi là cắt putback với một chức năng đơn giản như được đề xuất tại đây :

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

và sau đó

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,))

Điều này hoạt động, tức là giữ cho bộ nhớ được kiểm soát, nhưng không hiệu quả và chậm hơn so với việc kết xuất tất cả dữ liệu cùng một lúc, như tôi thường làm.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo chuỗi ngày được sử dụng trong vòng lặp for

  2. CẬP NHẬT tên_bảng SET col_name =varchar WHERE col_name is NULL;

  3. Nhiều khóa chính cho bảng app_employee không được phép.

  4. Tham gia các bảng từ các cơ sở dữ liệu khác nhau (PostgreSQL)

  5. Làm cách nào để hiển thị nếu một hãng hàng không khởi hành từ tất cả các sân bay trong DB của tôi ở Postgresql?