我正试图在一个项目中使用sqlite(sqlite3)来存储数十万条记录(希望使用sqlite,这样程序的用户就不必运行[我的]sql服务器)。
我有时要更新几十万条记录,以输入左右的值(它们是分层的),但发现标准的
update table set left_value = 4, right_value = 5 where id = 12340;
是非常缓慢的。我曾试着每隔一千左右就用
begin;
update...
update table set left_value = 4, right_value = 5 where id = 12340;
update...
commit;
但同样的,非常慢。很奇怪,因为当我用几十万的数据填充它时(有插入),它在几秒钟内就完成了。
我目前正试图在将其转移到C++实现之前,在Python中测试其速度(速度慢是在命令行和Python中),但现在这个速度太慢了,我需要找到一个新的解决方案,除非我做错了什么。有什么想法?(将采取开源的替代SQLite的方法,同时也是可移植的)