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.