2
A
回答
9
除非你正在做的事情非常琐碎到CSV,只有这样做一次,SQLite的将是运行速度更快,编码时间,和维护的时间,这将更加灵活。
把CSV到的SQLite的主要优点是...
- 查询与已知的查询语言。
- 使用灵活的查询语言进行查询。
- 利用高性能索引。
- 不必编写和维护并记录和测试一堆自定义查询代码。
你可以看一下这样的费用:
SQLite的
- 一旦...
- 创建模式。
- 将CSV导入SQLite(内置)。
- This may要求您编写一些代码来转换值。
- [可选,但推荐]设置索引。
- 对于每个不同的查询......
- 不要在SQL查询。
CSV
- 对于每个不同的查询......
- 编写特殊代码为您的查询。
- 文档如何使用这个特殊的代码。
- 测试您的特殊查询代码。
- 调试您的特殊查询代码。
- 运行您的特殊查询代码,必须...
- 阅读CSV文件。
- 解析CSV文件。
- (可选)索引CSV文件。
- 想出索引方案。
- 运行您的查询。
请注意,如果您的查询是简单的解析和运行可以一起发生。就像“查找字段5大于10的所有列”。
人们很容易忘记,即使你使用一个库做的CSV解析,有编码和维护成本编写特殊的代码来查询一个CSV文件。 每个查询必须进行编码,测试和调试。 每个特殊情况或选项必须进行编码,测试和调试。由于它是你制作的所有特殊材料,因此没有任何约定可以遵循。来使用您的查询程序的人必须了解它的功能和工作原理。如果他们想做什么甚至略有不同的事情,他们(或你)必须进入代码,理解它,修改它,测试它,调试它并记录它。这会产生很多支持请求。
相比之下,SQLite要求您在SQL查询之外编写很少或没有特殊代码。 SQL是一种众所周知的查询语言。你可以说“这是一个SQLite数据库”,很可能人们会知道该怎么做。或者,他们会去学习SQL,这是一般适用的知识。而学习你的特殊CSV查询程序是一次性的知识。
如果人们想要运行一个查询,那么您并没有预料到他们可以自己编写SQL。你不需要被打扰,而且他们也不需要拼出一堆代码。
最后,SQLite的查询时间将比使用索引表的索引好得多,而不是你或我可能写的东西。 SQLite是一个由许多数据库专家协作的数据库。您可能不会超越他们用C编写的精心优化的代码。即使您可以略微提高性能,don't you have better things to do?
0
一个明显的好处是,你不能索引一个CSV文件。如果您必须使用大型数据集的子集,那么在sqlite表中的列上创建索引是一个优点。
相关问题
- 1. 用于iPhone的sqlite vs csv文件
- 2. Java的CSV文件操作
- 3. SQL VS C#聚合操作性能
- 4. VS 2012与VS 2010的互操作性
- 5. splunk vs cordys操作智能
- 6. 操纵CSV文件
- 7. 性能问题 - iOS中的plist vs sqlite
- 8. Python性能:搜索大列表vs sqlite
- 9. 核心数据vs Sqlite和性能
- 10. 关闭csv文件的I/O操作
- 11. 从读和操作.csv文件
- 12. 在Python中操作csv文件
- 13. 将.CSV文件导入SQLite
- 14. SQLite的 - 从CSV文件
- 15. 文件大小:CSV vs MySQL
- 16. SQLite的操作
- 17. 读/写性能:DiskLruCache VS文件系统
- 18. XPath vs DeSerialization:读取操作的性能更好
- 19. PostgreSQL的IN操作符的性能:列表VS子查询
- 20. select子句中的子查询vs应用操作员性能
- 21. SQLite vs多个文本文件
- 22. SQLite ExecSql不能从文件工作
- 23. 异步操作性能
- 24. Winforms WPF互操作性能
- 25. ESENT性能Vista vs XP
- 26. 高性能文件操作和I/O完成线程
- 27. 替代PHP的良好性能 - 字符串/文件操作
- 28. 将CSV文件导入sqlite表
- 29. CSV文件导入到SQLite修整行
- 30. Sqlite数据到Android中的CSV文件