PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

psycopg2 odpowiednik polecenia R dbWriteTable i uzyskanie większej wydajności z kodu Pythona

Spróbuj tego:

    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)

Przekaż polecenie sql tylko raz dla wszystkich wierszy. Poza obciążeniem wydajnościowym związanym z wydawaniem dodatkowych poleceń sql, zauważ, że sam rozmiar ciągu sql (w bajtach) prawdopodobnie przewyższa rozmiar rzeczywistych testowanych danych.

Używanie id2 jako generatora bez tablicy powinno również unikać ładowania całego zestawu danych do pamięci.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak cicho zainstalować Postgresql w Ubuntu przez. Plik Dockera?

  2. Utwórz funkcję SQL odwołującą się do tabeli lub kolumny, która (jeszcze) nie istnieje

  3. Pula połączeń przy użyciu pg-promise

  4. Spring Data JPA + Hibernate Skip Zablokowane wiersze (PostgreSQL)

  5. PostgreSQL , Wybierz z 2 tabel, ale tylko najnowszy element z tabeli 2