【问题标题】:storing multiple values as binary in one field将多个值作为二进制存储在一个字段中
【发布时间】:2010-11-27 18:02:18
【问题描述】:

我有一个需要存储大量值的项目。 该数据是一个包含 1024 个 2Byte 无符号整数值的数据集。现在我将一个值与时间戳和一个unik ID一起存储在一行中。 此数据基于时间触发器持续存储。

我想做的是将所有 1024 个值存储在一个字段中。那么是否有可能做一些例程,将一个字段中的所有 1024 个 2 字节整数值作为二进制存储。也许是一个blobfield。 谢谢。

兄弟。 恩霍伊

【问题讨论】:

    标签: mysql integer blob store


    【解决方案1】:

    是的。您可以将数据序列化为字节数组,并将其存储在 BLOB 中。大多数数据库中的 BLOB 将支持 2048 字节。

    【讨论】:

    • 听起来不错。我是否需要 mysql 之外的一些小程序来执行此操作,还是可以通过 sql 命令完成? (对不起我的新手)。您是否可以粘贴代码 sn-p 或指向一些更详细信息的链接如何执行此操作。谢谢。
    • 这里有一些代码展示了如何对图像执行此操作。完全相同的代码 (C#) 将适用于任何内存流,它可以从 byte[] 数组构建。如果您给我您选择的语言,我可能会找到该语言的一种(虽然翻译会很容易):forums.mysql.com/read.php?39,121077,122578
    【解决方案2】:

    要问自己的一个大问题是“我需要如何检索这些数据?”任何报告或查询,例如“什么 ID 的值 X 设置为 Y”,都必须从表中加载所有行并解析数据 AFAIK。例如,如果这是用户配置数据,您可能需要知道哪些用户的特定设置设置不正确。

    在 SQL Server 中,我建议考虑使用 XML 数据类型并存储已知模式,因为这可以使用 XPath 进行查询。 MySQL 自 2007 年起不支持此功能,因此您可能无法选择。

    我肯定会考虑将您可能需要以这种方式查询的任何数据分成单独的列。

    另请注意,如果没有客户端应用程序,您将无法解释 BLOB 数据。

    您总是想考虑举报。多年来,数据库通常以多个客户告终。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 2010-12-15
      • 2021-01-29
      • 2010-10-05
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      相关资源
      最近更新 更多