在MySQL中存储非常大的整数

15

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

MySQL的BIGINT类型为64位。因此,理论上我可以将哈希分成八个BIGINT列。但这似乎相当荒谬。我的另一个想法是仅使用单个BLOB列,但我听说它们访问起来可能会很慢,因为MySQL将它们视为可变长度字段。

如果有人能提供一些智慧,可以使我节省几个小时的基准测试吗?

注意:任何人如果说“只需使用postgres!”将自动得到-1的评分 :)


12
只需要使用Postgres :) - jeje
2个回答

21

8

如何使用类型BINARY(64)?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接