MySQL 5.7では、MySQLテーブルにJSONデータを格納するための新しいデータ型が追加されました。それは明らかにMySQLの大きな変化になるでしょう。彼らはいくつかの利点を挙げました
ドキュメントの検証 -有効なJSONドキュメントのみをJSON列に格納できるため、データの自動検証を取得できます。
効率的なアクセス -さらに重要なことに、JSONドキュメントをJSON列に格納すると、プレーンテキスト値として格納されません。代わりに、オブジェクトメンバーと配列要素にすばやくアクセスできるようにする最適化されたバイナリ形式で保存されます。
パフォーマンス -JSON列内の値にインデックスを作成することにより、クエリのパフォーマンスを向上させます。これは、仮想列の「機能インデックス」で実現できます。
利便性 -JSON列の追加のインライン構文により、SQL内にドキュメントクエリを統合することが非常に自然になります。例(features.featureはJSON列です):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
うわー !彼らはいくつかの素晴らしい機能が含まれています。データの操作が簡単になりました。より複雑なデータを列に格納できるようになりました。したがって、MySQLはNoSQLでフレーバーされています。
JSONデータのクエリは次のようになります。
SELECT * FROM t1
WHERE JSON_EXTRACT(data,"$.series") IN
(
SELECT JSON_EXTRACT(data,"$.inverted")
FROM t1 | {"series": 3, "inverted": 8}
WHERE JSON_EXTRACT(data,"$.inverted")<4 );
それで、いくつかのjsonカラムに巨大な小さな関係を保存できますか?いいですか?それは正規化を壊しますか?これが可能であれば、MySQLカラムではNoSQLのように動作すると思います。この機能についてもっと知りたいです。MySQL JSONデータ型の長所と短所。
Now it is possible to store more complex data in column
。注意してください