如果我想运行一个小小的个人网站,例如每小时增加2000行数据(150 kb),那么使用CSV文件或SQL数据库之间会有什么显着差异吗?我对数据库很陌生,目前有一个原型可以将数据附加到CSV文件以简化,但我想知道速度或内存是否有任何缺点。我只需要写和查找。此外,如果存在大量冗余数据,关系数据库是否能够有效地存储或检测到这一点?我不完全理解这个概念。
编辑:这个问题与我的其他问题不重复。另一个涉及应该在服务器和网站之间工作的交换格式,而这个问题是关于将数据存储为平面文件或数据库的方法。
答案 0 :(得分:0)
CSV是一个顺序文本文件,因此查找将为O(n)。也就是说,在10,000行的文件中查找比使用1000行的文件要长10倍。
出于这个原因,id建议使用SQL数据库,因为它们内置了索引功能。您可以使用Access或SQLlite之类的东西。
SQL数据库唯一真正的缺点是你必须学习如何使用它。
答案 1 :(得分:0)
因此,在使用CSV时,sql具有一些您需要使用的功能。 CSV不会让您创建快速搜索索引。
如果您始终需要单个表格中的所有数据(例如应用程序设置),则CSV速度更快,否则不会。
有什么缺点?
根据您的情况,因为您拥有大量数据....最好使用数据库而不是使用csv。
您可以创建唯一键约束之类的约束来唯一标识数据....有几个功能可以使用平面CSV平面文件不支持。