小编典典

在MySQL中存储非常大的整数

mysql

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

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

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

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


阅读 843

收藏
2020-05-17

共1个答案

小编典典

您是否考虑过“
binary(64)”?参见MySQL二进制类型。

2020-05-17