在Android上保存SQLITE的字符串阵列的最佳方法是什么?



一个字符串大小约为200个字节,它以每日阵列存储10〜20的大小。(存储10〜20串200 bot,作为数组类型)

我找到了一种将数组转换为字符串的方法并将其存储在sqlite中。但是,我不知道这是个好主意因为字符串的大小很大。

1。如果大量的字符串,将数组存储为字符串是个好主意吗?

2。还是有更好的方法?

我想要建议。谢谢。

您实际上将关注点放在数据库设计的错误部分上。

对于sqlite,字符串的最大长度为10亿字节,因此您对每一个的10-20字符串的担忧实际上并不那么大。

将数组存储为数据库中的单个长字符串确实没有任何伤害。尤其是当它靠近字符串的最大极限时。

由于字符串长,您的数据库查询时间不会更长。这里真正关心的是您将在该字符串上进行的处理将其转回数组。通常,如果字符串非常长,那么真正的性能是当您将数组平坦到字符串中,而当您将字符串转换回数组时。

但是,通常,这是您向用户显示的加载指示器。

用于将数组存储到数据库中,实际上只有两种方法可以这样做:

  • 将阵列弄平到一个字符串,然后将字符串存储为文本

  • 创建一个表旨在存储字符串的单个元素的表格,并为外键包含一个列,该列可以使您可以将这些行与相同数组相关联。然后,您将在此表中将字符串数组的每个元素作为行存储。

根据您的需求,一种设计比另一种设计更好。

例如,如果您的应用程序要求您不断编辑数组的单个元素,通常您通常会更喜欢第二个实现。

在这样一个示例中,使用第一个解决方案是没有多大意义的,因为这意味着每次您要编辑数组的内容时,您都会将完整的数组中的完整数组拿回去。当您只想获取或编辑该字符串的特定部分时,这是不切实际的。

因此,在这样的示例中,将阵列的各个元素存储到用于此类数据的表的单个行中更为实用。您将仅查询所需的行,并仅更新所需的行。

为了回答您的问题,实际上只有两种方法可以将字符串数组作为文本类型存储在SQLite数据库中。这两种方式都可以正常工作,真正关心的是考虑哪种解决方案最适合您的需求。

如果您的应用仅要求您每次将数组存储并获取整体,则单字符串方法可能更可取。

但是,如果您的应用程序要求您使用数组的各个元素,则使用表方法将更加方便。

相关内容

最新更新