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

psycopg2, еквивалентен на команда R dbWriteTable и получаване на повече производителност от кода на python

Опитайте това:

    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)

Предайте sql командата само веднъж за всички редове. В допълнение към производителността при издаване на допълнителни sql команди, забележете, че размерът на самия sql низ (в байтове) вероятно намалява размера на реалните данни, които се тестват.

Използването на id2 като генератор без масива също трябва да избягва зареждането на целия набор от данни в паметта.




  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. fe_sendauth:грешка без предоставена парола в postgresql + laravel

  3. Как cbrt() работи в PostgreSQL

  4. Релси:PG::InsufficientPrivilege:ГРЕШКА:разрешението е отказано за релация schema_migrations

  5. Не може да се използва потребител на postgres в нова база данни за rails 3 на ubuntu 10.04 сървър