【问题标题】:Storing very large integers in MySQL在 MySQL 中存储非常大的整数
【发布时间】:2023-04-01 20:55:02
【问题描述】:

我需要在 MySQL 表中存储大量(数千万)的 512 位 SHA-2 哈希值。为了节省空间,我想以二进制形式存储它们,而不是十六进制数字的字符串。我正在使用 ORM (DBix::Class),因此存储的具体细节将从代码中抽象出来,这可以将它们扩展为我选择的任何对象或结构。

MySQL 的 BIGINT 类型是 64 位。所以理论上我可以将散列分成八个BIGINT 列。不过,这似乎很荒谬。我的另一个想法是只使用一个 BLOB 列,但我听说由于 MySQL 将它们视为可变长度字段,它们的访问速度可能很慢。

如果有人能提供一些智慧来节省我几个小时对各种方法进行基准测试的时间,我将不胜感激。

注意:任何说“只使用 postgres!”的人自动 -1 :)

【问题讨论】:

  • 只使用 postgres :)

标签: mysql storage blob


【解决方案1】:

你考虑过'binary(64)'吗?请参阅MySQL binary 类型。

【讨论】:

    【解决方案2】:

    使用类型BINARY(64) ?

    【讨论】:

      猜你喜欢
      • 2013-10-13
      • 1970-01-01
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多