SQLite用于大型数据集?

Mar*_*old 20 sqlite

我有一个相当大的数据集,并希望将其存储在一个文件而不是RDBMS中.

数据集中的主表只有超过1M行,30列和大约600Mb的CSV格式.

我在考虑SQLite.SQLite值得调查这个大小的数据集吗?

Ana*_*tts 18

SQLite会处理该文件就好了; 确保在事务中导入记录,以便在导入所有内容之前不会花费大量时间创建索引.


Rob*_*vey 9

我最近调查了SQLite的类似应用程序.SQLite文档声明SQLite数据库的大小可以是太字节,并且SQLite的主要限制是并发(许多用户同时).虽然我们没有朝这个方向发展(我们有自己的二进制存储格式),但我非常有信心SQLite可以处理这种大小的文件.


The*_*heo 6

当您使用事务并且不经常提交时,sqlite很快.使用带参数的预处理语句也可以加快速度.使用参数化查询时,Sqlite不必重新分析每个sql语句.一个例子:我如何解决sqlite和c#中的"'"问题?

我在一个sqlite数据库中存储2千兆字节,它运行得很好.sqlite在平面文件上方的一大优势是可以索引数据.


Ali*_*xel 6

您已经有了答案,但我想分享我当前的实验:我已经将价值793 GiB的数十亿条记录转储到单个SQLite数据库中,并且读取查询的速度仍然出乎意料地快(不到1m)。

创建时间只花了22个小时多一点,索引创建后每列花了大约4个小时。


laa*_*lto 5

sqlite 应该适合你。即使在嵌入式设备中,我也运行了该大小的数据集,并且 sqlite 性能相当合理。

如上所述,主要瓶颈是并发性。旨在设计您的系统,以便每个数据库文件最多打开一个数据库句柄。