2017-11-23 11 views
0

私は約30万回でフォームデータ全体を保存する必要があります。 Plsは理由を聞かない。 ;)MySQLのBLOBまたはVARCHAR?

JSONのシリアライズされたフォームデータには、約20-30の単純なフィールドがあります。

もっと効率的ですが、どう思いますか?このJSONのbase64をVARCHARにエンコードしたり、gzcompressedをBLOBに格納したりする必要がありますか?

私はVARCHARとBLOBの違いは分かっていますが、gzcompressed jsonよりもかなり大きいbase64を知っています。 FYI:bas64でエンコードされた形式は約2.3Kですが、gz圧縮された同じデータは420バイトです。

これらのフォーム内を検索する必要はありません。保存するだけです。

THX

答えて

1

MySQLが実際にJSONデータ型を持っています。

+0

ええ、それは良いかもしれません。あなたの提案をありがとう。 しかし、データベースのサイズはどうですか?それは少数ではなく、記録の息抜きです。 JSONフィールドタイプの利点は最適化されたストレージですが、格納されているサイズはもっと大きいと思います。あなたじゃない? – szatti1489

+1

何千ものレコード?何千ものレコードについて話しているのであれば、おそらく問題にはならないでしょう。もちろん、あなたのJSON文書の巨大さにもよります。あなたが500 Mioを持っているなら。 0.5kBのJSONドキュメントを作成すると、データベースは250GBになります。使用しているエンジンに応じてJSONまたはBLOBとしてJSONを格納することと、格納要件を削減するために圧縮を使用することの間には大きな違いはないでしょう。我々は約350ミオ。 JSONドキュメントと合計DBサイズは約80GBです(もちろん、JSONドキュメントはそれぞれ100〜200バイトほどではありません)。 – mroman

+0

申し訳ありませんが、私は数十万のレコードを意味します。より正確には約350千人です。しかし実際それは約350Mioです。 :) – szatti1489

関連する問題