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