(Android) 最好将单个 table 数据存储在 sqlite 中或作为文本文件?
(Android) better to store a single table of data in sqlite or as a text file?
我有一个数据 table,完全结构化,我的应用程序需要它。
它由几千行、三列用空格分隔(在我从中加载的文本文件中)组成,我需要为它们分配特定的优先级。
该优先级存储为 int 并将被修改。
我考虑将整个内容保存在内存中(它是相当短的字符串),并在会话结束时简单地写入具有更新的 int 值的文本。另一种方法是我在应用程序运行时更新的单个 sqlite table。
我确定这两种方式都很好,但只是出于好奇,哪种方式性能更差,reading/writing 到 sql table 或文本解析?
如@Rotwand 所述,您应该只为所提供的全部功能选择一个数据库。仅当您仅访问 first/last 行或按顺序访问 select 数据时,文本解析可能会更快。
在其他情况下,尝试优化文本解析将导致您获得与数据库等效的东西,因此无需重新发明轮子。
如果您有特定需求(复杂的对象结构,很少的对象,...),文本解析(或序列化)也可能是一个选项,但数据库应该仍然是一件好事,至少有更多的访问选项。
我有一个数据 table,完全结构化,我的应用程序需要它。
它由几千行、三列用空格分隔(在我从中加载的文本文件中)组成,我需要为它们分配特定的优先级。
该优先级存储为 int 并将被修改。 我考虑将整个内容保存在内存中(它是相当短的字符串),并在会话结束时简单地写入具有更新的 int 值的文本。另一种方法是我在应用程序运行时更新的单个 sqlite table。
我确定这两种方式都很好,但只是出于好奇,哪种方式性能更差,reading/writing 到 sql table 或文本解析?
如@Rotwand 所述,您应该只为所提供的全部功能选择一个数据库。仅当您仅访问 first/last 行或按顺序访问 select 数据时,文本解析可能会更快。 在其他情况下,尝试优化文本解析将导致您获得与数据库等效的东西,因此无需重新发明轮子。
如果您有特定需求(复杂的对象结构,很少的对象,...),文本解析(或序列化)也可能是一个选项,但数据库应该仍然是一件好事,至少有更多的访问选项。