今天使用sqlite做插入数据,测试所耗时间。发现批量插入1000条数据居然用了5077毫秒,这个效率简直无法接收。仔细分析,不难发现,一定是每插入一条记录就更新一次数据库文件,频繁的文件操作导致效率问题。通过查看sqlite手册,发现我的猜测是正确的。原来,sqlite默认情况下每执行一条语句就是一个事务,因此,上面的操作,每插入一条记录,就会操作一次数据文件。所以我们需要显示的进行事务处理:
"BEGIN"
for( ){//插入数据};
"COMMIT"
这样执行完这个事务后才会更新数据库,测试:插入1000条数据耗时125毫秒。
sqlite3插入数据效率问题
最新推荐文章于 2024-08-23 18:44:24 发布
本文探讨了在使用SQLite进行批量数据插入时,通过优化事务处理策略显著提升性能的方法。通过将多条插入语句封装在一个事务中,避免了频繁的文件操作,从而实现了大幅度减少插入1000条数据所需的时间,从5077毫秒降低到125毫秒。这一改进对于处理大量数据时的效率提升至关重要。
599

被折叠的 条评论
为什么被折叠?



