在stackoverflow上有关于这个主题的问题很少,但我没有得到正确的答案。我对平面文件的性能有些怀疑,使用平面文件而不是 SQLite 会更好吗?有人可以有性能统计吗?或者在android中编写平面文件的正确方法的例子。
答案 0 :(得分:31)
除了性能优势之外,这里有一个使用SQLite而不是平面文件的简单优势列表:
总而言之,数据库对文本文件的所有优势。
答案 1 :(得分:9)
这取决于您的要求。
如果您的存储数据大小结构庞大,那么我建议您使用SQLite。另一方面,如果数据大小只是一行或几行,那么平面文件是最佳选择。
它们之间的区别在于,SQLite以结构化格式存储数据,因此从多组记录中查找记录会更容易,这对于平面文件来说是非常繁琐的过程。
但是,如果您要存储blob类型的数据,则建议使用SQLite和文件系统两者的组合。即将图像/声音/视频数据存储为文件格式,并将其路径存储在SQLite中。
另请访问此accessing performance。
答案 2 :(得分:0)
SQlite 在性能方面肯定要好得多,而且随着数据规模的增加,这一点变得更加重要。
我一直在开发一个 Flutter 应用程序,我需要根据输入的文本动态显示过滤的项目列表。我最初使用一个 json 文件来存储数据,并将相关值读取并存储到一个列表中,然后在用户键入时过滤此列表。
这对一些项目效果很好,所以我认为我很好,直到我用包含超过 150,000 个项目的真实数据集进行测试。当用户键入时尝试过滤如此大的列表会导致应用程序崩溃。我转向了数据库解决方案,我所有的问题都解决了。即时过滤,不再崩溃