PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

psycopg2 setara dengan perintah R dbWriteTable dan mendapatkan lebih banyak kinerja dari kode python

Coba ini:

    id2 = csv.reader(open(os.path.join(perf_dir,id_files[1])))
    h = tuple(next(id2))

    create = '''CREATE TABLE id2 (%s varchar, %s int PRIMARY KEY, %s int)''' % h
    insert = '''INSERT INTO id2 (%s, %s, %s) VALUES (%%s, %%s, %%s)''' % h

    ...

    cr.executemany(insert, id2)

Lewati perintah sql hanya sekali untuk semua baris. Selain kinerja overhead mengeluarkan perintah sql tambahan, perhatikan bahwa ukuran string sql itu sendiri (dalam byte) kemungkinan mengerdilkan ukuran data sebenarnya yang sedang diuji.

Menggunakan id2 sebagai generator tanpa array juga harus menghindari memuat seluruh kumpulan data ke dalam memori.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. perintah ifelse &grepl saat menggunakan dplyr untuk operasi SQL in-db

  2. Bagaimana statement_timestamp() Bekerja di PostgreSQL

  3. Periksa target statistik di PostgreSQL

  4. Mengapa kueri tidak dapat disimpan dalam file csv saat tampaknya normal di konsol postgresql

  5. Dapatkan pohon orang tua + anak dengan pg-promise