json_encoded
データベースに文字列を保存する予定です。長さは正確にはわかりませんが、かなり長いと思います。私の懸念は、これにどのフィールドタイプを使用するかということblob
ですtext
。
高速検索よりもできるだけスペースを節約できるものを好みますが、いずれにせよ、インデックスを作成する必要がある他の列があります。
json_encoded
データベースに文字列を保存する予定です。長さは正確にはわかりませんが、かなり長いと思います。私の懸念は、これにどのフィールドタイプを使用するかということblob
ですtext
。
高速検索よりもできるだけスペースを節約できるものを好みますが、いずれにせよ、インデックスを作成する必要がある他の列があります。
MySQLのドキュメントに記載されているように、5.7.8 以降、ネイティブの JSON データ型がサポートされています。
JSON データ型には、JSON 形式の文字列を文字列列に格納するよりも次の利点があります。
そのため、MySQL のドキュメントに記載されているように、テキストではなく JSON データ型を使用する必要があります。
blob
通常、画像、バイナリなどのためのものです。text
あなたのケースには十分なはずです。または、それがlongtext
本当に懸念される場合は、さらに大きなスペース容量を持つものを使用できます。
検索に関しては、json_encode
'd のものを保存json_decode
しているため、アプリケーションで役立つようにするためにとにかくそれを呼び出す必要があります。この場合、データ型の選択は重要ではないと思います。
より良い方法は、関連するものを json の 1 つの大きな文字列に格納するのではなく、データベースの設計を正規化することです。