如何在rhel5中加速csv写入

时间:2015-07-22 06:14:38

标签: linux python-2.7 python-3.x sqlite rhel5

我有一个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));

0 个答案:

没有答案