多记录SQLite表的高效更新

2024-05-17 00:53:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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;

但还是很慢。很奇怪,因为当我用几十万(插入)填充它时,它会在几秒钟内完成。

我现在尝试在Python中测试速度(慢是在命令行和Python),然后再把它移到C++实现,但是现在这是慢的方法,除非我做错了什么,否则我需要找到新的解决方案。思想?(将采用开源替代SQLite,它也是可移植的)


Tags: 项目用户程序rightidsqlitesqlvalue