我有一个python代码,它使用sqlite3对数据库执行查询,获取查询返回的行并将它们写入csv文件。查询返回的行数约为6600万。 当我在Windows 7(64位,4GB RAM,2.60GHz)上使用 python 3.4.3 时,脚本需要 201秒才能完成。
但是当我在虚拟机(RHEL5_64,8gb,3.30 GHz)上运行python2.7 执行相同的脚本时,需要大约 1.5天才能完成。
代码段如下:
import sqlite3,time,csv
with open('sqlite3dump.csv','w',newline='\n') as fp:
writer = csv.writer(fp, delimiter=',')
start_time = time.clock()
conn = sqlite3.connect('detail-config-21-7-2015.sqlite')
c = conn.cursor()
c.execute("<some select query>")
print("Reached this point : 1")
while c.fetchmany(size=20000):
writer.writerows(c)
end_time = time.clock();
print("-- Total Time taken : ",(end_time-start_time));