sql >> Database >  >> RDS >> PostgreSQL

psycopg2 equivalent aan de R dbWriteTable-opdracht en meer prestaties halen uit python-code

Probeer dit:

    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)

Geef de opdracht sql slechts één keer door voor alle rijen. Naast de prestatieoverhead van het uitgeven van extra sql-opdrachten, moet u er rekening mee houden dat de grootte van de sql-string zelf (in bytes) waarschijnlijk kleiner is dan de werkelijke gegevens die worden getest.

Het gebruik van id2 als generator zonder de array moet ook voorkomen dat de volledige dataset in het geheugen wordt geladen.




  1. 11 manieren om externe sleutels in een SQL Server-database te retourneren met T-SQL

  2. Verwijder alle weergaven van SQL Server

  3. Hoe kan ik A met B en ook B met C tegelijk verbinden?

  4. Hoe het MySQL-rootwachtwoord te verwijderen