在stackoverflow上有几个与此话题相关的问题,但我没有得到合适的答案。我对平面文件的性能有一些疑问,使用平面文件是否比使用SQLite更好? 有人有性能统计数据吗?或者有适当的方式在Android中编写平面文件的示例。
除了性能方面的好处,以下是使用SQLite而不是平面文件的简单优点清单:
总之,这是数据库相对于文本文件的每一个优势。
这取决于您的需求。
如果您的存储数据大小为结构庞大,则建议使用SQLite。另一方面,如果数据大小只有单个或几行,则平面文件是最佳选择。
它们之间的区别在于,SQLite以结构化格式存储数据,因此在多组记录中查找记录将更容易,而这在平面文件的情况下是非常繁琐的。
但是,如果您要存储blob类型的数据,则建议同时使用SQLite和文件系统。即,将图像/声音/视频数据存储为文件格式,并将其路径存储在SQLite中。
还可以访问这个性能访问页面。
在性能方面,SQLite绝对比其他方式更好,特别是当数据量增加时,这一点变得更加重要。
我一直在开发一个Flutter应用程序,在其中需要基于用户输入的文本动态显示筛选后的项目列表。最初,我使用JSON文件存储数据,并将相关值读取并存储到列表中,然后在用户输入时对该列表进行筛选。
这对几个项目来说完全没有问题,因此我认为自己做得很好,直到我使用包含超过150,000个项目的真实数据集进行测试。尝试在用户输入时筛选如此大的列表会导致应用程序崩溃。我转向了数据库解决方案,所有问题都得到了解决。即时过滤,再也没有奔溃了。