SQLite用于大型数据集?

时间:2009-06-23 15:29:00

标签: sqlite

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

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

我在考虑SQLite。 SQLite是否值得研究这种大小的数据集?

5 个答案:

答案 0 :(得分:17)

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

答案 1 :(得分:9)

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

答案 2 :(得分:6)

当您使用事务并且不经常提交时,sqlite很快。使用带参数的预处理语句也可以加快速度。使用参数化查询时,Sqlite不必重新分析每个sql语句。例如:How do I get around the "'" problem in sqlite and c#?

我在sqlite db中存储2 GB,它运行得很好。 sqlite在平面文件上方的一大优势是可以索引数据。

答案 3 :(得分:5)

您已经有了答案,但我想分享我目前的实验:我已将数十亿条记录,价值793 GiB的数据转储到单个SQLite数据库中,读取查询的速度仍然非常快(低于1米)。

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

答案 4 :(得分:3)

sqlite应该对你有用。即使在嵌入式设备中,我也运行了这个大小的数据集,并且sqlite性能非常合理。

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