全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4572 2
2014-06-03
经常用RSQLite写数据的朋友会发现RSQLite一次性写入大量数据奇慢无比, 并且一直在读硬盘, 导致其他操作也被拖累, 据说这是由于sqlite基于事物所导致的. 这种情况特别容易发生在对表格增量写入的情况.
http://stackoverflow.com/questions/15390565/rsqlite-takes-hours-to-write-table-to-sqlite-database
老外的解决方式很简单, 将大批量数据均分成100份, 速度大幅提高.

实测结果如下, 可见分块写入可以大幅提高append的速度. 对现有表插入1000行数据, 直接dbWriteTable需要200秒, 分成100块dbWriteTable就只要3秒不到了.

复制代码



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-6-4 11:10:38
好帖子,分块不光在SQLITE这里适用,在用RODBC跟其他数据库交互的时候也适用。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-9-14 22:24:01
相当于批量事务操作, 大大地减少了对盘文件的访问次数,  肯定效率高多了.
begin commit
   write data  to  DB_table
end commit
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群