我需要在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