首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

关于python 和sqlite创建数据库文件解决办法

2012-02-09 
关于python 和sqlite创建数据库文件现在是这个样子的有很多文件例如name,age,xxxzhangsan,10,1lisi,10,2有

关于python 和sqlite创建数据库文件
现在是这个样子的有很多文件例如
name,age,xxx
zhangsan,10,1
lisi,10,2
有很多这样的文件,文件名就是表名,第一行就是字段名称,其与的行就是记录,如果有几千万条数据来insert,会非常慢(sql文件在硬盘上 不在内存中)。

有没有办法一次性将这些数据做成sqlite格式,而不用一行一行的插入,因为文件格式很标准。

或者有其他办法来提高效率?

[解决办法]
同意2#,用内存文件就快多了,最后再写到硬盘上
[解决办法]

探讨

感谢楼上的,但是我发现现在的瓶颈好像不是在这,如果我写一个
for i in range(xxx):
execute()
这样的速度我还可以接受,100万条记录在10妙左右

我现在考虑的是python 的sqlite的事物机制,在python中这样写的:
By default, the sqlite3 module opens transactions implicitly b……

[解决办法]
或者
Python code
with LiteDBI() as dbi:  buff = []  for ...    buff.append(d) # 准备插入的数据    condition.. # 你的业务逻辑处理    if len(buff)>=10000: # 一个批次的最大数据量      dbi.batch("insert ...", buff) # 成批插入数据      buff = [] #   if buff: # 缓冲中仍有数据    dbi.batch("insert ...", buff) # 写入库中    buff = [] 

热点排行