質問
非常に多数(数千万)の512ビットSHA-2ハッシュをMySQLテーブルに保存する必要があります。スペースを節約するために、16進数の文字列ではなく、バイナリ形式で保存したいと思います。 ORMを使用しています( DBix :: Class )そのため、ストレージの特定の詳細はコードから抽象化され、選択した任意のオブジェクトまたは構造に拡張できます。
MySQLの BIGINT
タイプは64ビットです。したがって、理論的には、ハッシュを8つの BIGINT
列に分割できます。それはかなりばかげているようだ。私の別の考えは、単一の BLOB
列を使用することだけでしたが、MySQLが可変長フィールドとして扱うため、アクセスが遅くなる可能性があると聞きました。
だれかがさまざまな方法のベンチマークを2〜3時間節約できるような未熟なものを提供できるなら、ありがたいです。
注:「ただpostgresを使用してください!」 :)
解決
「binary(64)」を検討しましたか? MySQLバイナリタイプを参照してください。
他のヒント
タイプ BINARY (64)を使用しますか?
所属していません StackOverflow