質問

非常に多数(数千万)の512ビットSHA-2ハッシュをMySQLテーブルに保存する必要があります。スペースを節約するために、16進数の文字列ではなく、バイナリ形式で保存したいと思います。 ORMを使用しています( DBix :: Class )そのため、ストレージの特定の詳細はコードから抽象化され、選択した任意のオブジェクトまたは構造に拡張できます。

MySQLの BIGINT タイプは64ビットです。したがって、理論的には、ハッシュを8つの BIGINT 列に分割できます。それはかなりばかげているようだ。私の別の考えは、単一の BLOB 列を使用することだけでしたが、MySQLが可変長フィールドとして扱うため、アクセスが遅くなる可能性があると聞きました。

だれかがさまざまな方法のベンチマークを2〜3時間節約できるような未熟なものを提供できるなら、ありがたいです。

注:「ただpostgresを使用してください!」 :)

役に立ちましたか?

解決

「binary(64)」を検討しましたか? MySQLバイナリタイプを参照してください。

他のヒント

タイプ BINARY (64)を使用しますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top