sqlite和浮点数组

sqlite和浮点数组,sql,sqlite,multidimensional-array,Sql,Sqlite,Multidimensional Array,对于关系数据库和sqlite来说是相当新的。但我很好奇,用SQLite表示每项/每行的real列表的最佳方式是什么 我有几个项目X;包含100s-100000s项。x中的每个项x都有一个核心属性,它是浮点对的列表(例如{100,1.2}、{101.1,234.3}、{20000,90};通常包含10s-1000s对浮点) 我的第一个想法是使用blob。但这使得读取这些浮点数对变得很困难(使用一些通用的sqlite查看器,我还不知道)。我还想通过这些浮点对的值进行查询。有没有办法解析blob并在查

对于关系数据库和sqlite来说是相当新的。但我很好奇,用SQLite表示每项/每行的real列表的最佳方式是什么

我有几个项目X;包含100s-100000s项。x中的每个项x都有一个核心属性,它是浮点对的列表(例如{100,1.2}、{101.1,234.3}、{20000,90};通常包含10s-1000s对浮点)

我的第一个想法是使用blob。但这使得读取这些浮点数对变得很困难(使用一些通用的sqlite查看器,我还不知道)。我还想通过这些浮点对的值进行查询。有没有办法解析blob并在查询过程中使用它们?我还怀疑使用BLOB的大/小端二进制编码会有问题。 x=[prim_key,blob]

第二个想法是将它们表示为字符串。这使它更容易阅读,但可能不那么紧凑。 x=[prim_key,“100,1.2,101.1,234.3,…]

第三种方法是“规范化”,并参考主键在单独的表中表示这些浮动。这看起来很尴尬,在为特定x收集这些浮点数时速度较慢,而且空间浪费,因为每个浮点数对都必须和引用的主键值相关联。但这将允许我使用浮点对进行查询

x_float_pairs=[prim_key_ref,100,1.2;prim_key_ref,101.1234.3;…]

第四种方法是创建一个表,以包含每个项x的一对浮动;可能是最糟糕的主意,对吧


有什么建议吗?提前感谢您。

如果您致力于使用SQLLite,我倾向于使用规范化方法。当您有索引时,查找行非常快。这就是SQL数据库支持的范例


如果您有更多的灵活性,那么您可能会考虑使用blob存储,这将允许您将行作为一个集合进行检索。如果不知道您计划如何访问数据,就很难推荐一种在所有情况下都能很好地工作的策略。

我想我不支持SQLite,但对于不需要并发的应用程序来说,这似乎是最好的选择;和自由。我想用浮点对值进行查询;虽然这并不重要,也可能有点慢。是否可以在查询中解析blob?此外,大部分存储由这些浮点对占用。规范化看起来可能会占用50%的空间。没有blob只是:未定义、不可查询的数据blob。您必须检索数据才能理解它。您是说每个项目可能有多达100K个关联的浮点对吗?或者每件物品只有1000对浮点数?我不太明白你的第二段:“我有几个项目X”;包含100s-100000s项”。但如果需要查询浮点对,规范化可能是最佳途径。