mpe*_*kov 1 python database sqlite
我有一大堆CSV格式的数据.我需要能够基于单个文本字段(主键)索引此数据,因此我正在考虑将其输入数据库.我对之前项目中的sqlite很熟悉,所以我决定使用该引擎.
经过一些实验,我意识到在一个表中存储一亿条记录将无法正常工作:索引步骤很快就会慢慢爬行.我可以想出两个解决这个问题的方法:
我选择了第二个解决方案(它产生了几个大文件而不是一个大文件).我的分区方法是查看主键的前两个字符:每个分区大约有200万条记录,大约有50个分区.
我在Python中使用sqlite3模块执行此操作.在整个过程中,我保持50个打开的数据库连接并打开游标.对于每一行,我查看主键的前两个字符,通过字典查找获取正确的光标,并执行单个插入语句(通过在光标上调用execute).
不幸的是,插入速度在一段时间后仍然降低到难以忍受的水平(大约1000万个处理过的记录).我该怎么做才能解决这个问题?有没有更好的方法来做我正在做的事情?