我需要在MySQL表中存储非常大数量(数千万)的512位SHA-2哈希值。为了节省空间,我想以二进制形式存储它们,而不是一个十六进制数字的字符串。我使用的是ORM(DBix::Class),因此存储的具体细节将从代码中抽象出来,这可以将它们膨胀为我选择的任何对象或结构。在MySQL中存储非常大的整数
MySQL的BIGINT
类型是64位。所以我理论上可以在八个BIGINT
列之间分割散列。这看起来很荒谬。我的另一个想法是使用一个BLOB
列,但我听说由于MySQL将它们视为可变长度字段,它们访问速度可能会很慢。
如果有人可以提供一些widsom,这将节省我几个小时的基准各种方法,我会很感激。
注意:自动-1给任何人说“只使用postgres!” :)
只是使用postgres :) – jeje 2009-07-31 09:11:09