我使用sqlite 3.12来保存数据。数据
- 只有一位作家
- 在写完成之前没有其他读者可以访问数据
- 只插入。没有删除。
- 在插入过程中,编写器也不会查询数据。
- 我的简单数据大小就像1G。它就像一张2-3柱的窄桌子。每行都是记录的数据条目。
醇>
我想知道获得最佳写入性能的最佳做法是什么。我找到了
- 关闭同步和日记:
http://blog.teamleadnet.com/2012/03/sqlite-performance-tuning.html
- 仅对所有插入使用一个事务:http://sqlite.1065341.n5.nabble.com/Performance-with-journal-mode-off-td67928.html
醇>
在上述设置之后,探查器显示sqlite3主要在btree和页面读取中工作。写入(1G普通数据)花费超过15米。最终的db大小为2G。
我还通过sqlite_analyzer分析了db。
- 其索引仅占0.2%的空间,元数据使用30%。
- db只有2个表。
- 一个表有77M条目,并使用1.4G存储。该表只有两列。一个是int键,另一个是double值。
- 第二个表有38M条目,并使用640M存储。该表有3列:两个int列的组合键和double值。
醇>
预计会有这种表现吗?它是数据写入的最佳性能吗?