关于操作性能,哪个更好,Sqlite或CSV文件?
提前致谢
答案 0 :(得分:19)
除非你对CSV做了很多非常的事情,并且只做了一次, SQLite对于运行时,编码时间和维护时间会更快,而且会更灵活 。
将CSV放入SQLite的主要优点是......
您可以查看以下费用:
请注意,如果您的查询很简单,则解析和运行可以一起发生。类似于“查找字段5大于10的所有列”。
很容易忘记即使您使用库进行CSV解析,编写特殊代码以查询CSV文件也会产生编码和维护成本。 必须对每个查询 进行编码,测试和调试。 必须对每个特殊情况或选项 进行编码,测试和调试。
因为这是你编造的所有特殊内容,所以没有任何惯例可以遵循。来使用您的查询程序的人必须了解它的作用以及它的工作原理。如果他们想做任何稍微不同的事情,他们(或你)必须进入代码,理解,修改,测试,调试和记录。这将产生许多支持请求。
相比之下,SQLite要求您在SQL查询之外编写很少或不编写特殊代码。 SQL是一种常见的查询语言。你可以说“这是一个SQLite数据库”,人们很可能会知道该怎么做。或者,他们将学习SQL,这通常是适用的知识。而学习特殊CSV查询程序则是一次性知识。
如果人们想要运行查询,您并没有预料到他们可以自己编写SQL。你不需要被打扰,也不需要弄乱一大堆代码。
最后,对于索引良好的表,SQLite的查询时间将远远超过您或我可能编写的任何内容。 SQLite是由许多数据库专家合作完成的数据库。您可能不会超越他们用C语言编写的经过仔细优化的代码。即使您可以略微提高性能,don't you have better things to do?
答案 1 :(得分:0)
一个明显的优点是您无法索引csv文件。如果必须使用大数据集的子集,则在sqlite表中的列上创建索引是一个优点。