Di MySQL 5.7, tipe data baru untuk menyimpan data JSON di tabel MySQL telah ditambahkan. Ini jelas akan menjadi perubahan besar di MySQL. Mereka mendaftar beberapa manfaat
Validasi Dokumen - Hanya dokumen JSON yang valid yang dapat disimpan di kolom JSON, sehingga Anda mendapatkan validasi otomatis untuk data Anda.
Akses Efisien - Lebih penting lagi, ketika Anda menyimpan dokumen JSON di kolom JSON, itu tidak disimpan sebagai nilai teks biasa. Sebaliknya, ini disimpan dalam format biner yang dioptimalkan yang memungkinkan akses lebih cepat ke anggota objek dan elemen array.
Kinerja - Tingkatkan kinerja kueri Anda dengan membuat indeks pada nilai dalam kolom JSON. Ini dapat dicapai dengan "indeks fungsional" pada kolom virtual.
Kenyamanan - Sintaks sebaris tambahan untuk kolom JSON membuatnya sangat alami untuk mengintegrasikan kueri Dokumen dalam SQL Anda. Misalnya (features.feature adalah kolom JSON):
SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;
WOW ! mereka menyertakan beberapa fitur hebat. Sekarang lebih mudah untuk memanipulasi data. Sekarang dimungkinkan untuk menyimpan data yang lebih kompleks dalam kolom. Jadi MySQL sekarang dibumbui dengan NoSQL.
Sekarang saya bisa membayangkan kueri untuk data JSON seperti
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 );
Jadi dapatkah saya menyimpan relasi kecil yang sangat besar dalam beberapa json colum? Apakah itu bagus Apakah itu merusak normalisasi. Jika ini memungkinkan maka saya kira itu akan bertindak seperti NoSQL di kolom MySQL . Saya sangat ingin tahu lebih banyak tentang fitur ini. Pro dan kontra tipe data MySQL JSON.
Now it is possible to store more complex data in column
. Hati-hati