Di MySQL, JSON_STORAGE_SIZE()
fungsi mengembalikan jumlah byte yang digunakan untuk menyimpan representasi biner dari dokumen JSON.
Anda memberikan dokumen JSON sebagai argumen.
Jika argumennya adalah JSON
kolom, fungsi ini mengembalikan ruang yang digunakan untuk menyimpan dokumen JSON saat dimasukkan ke dalam kolom, sebelum pembaruan parsial apa pun yang mungkin telah dilakukan setelahnya.
Saat argumen berupa string, fungsi mengembalikan jumlah ruang penyimpanan dalam representasi biner JSON yang dibuat dengan menguraikan string sebagai JSON dan mengonversinya menjadi biner.
Sintaks
Sintaksnya seperti ini:
JSON_STORAGE_SIZE(json_val)
Dimana json_val
adalah dokumen JSON untuk mengembalikan ukuran penyimpanan. Ini harus berupa dokumen JSON yang valid atau string yang dapat diuraikan menjadi satu.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh untuk didemonstrasikan.
SELECT JSON_STORAGE_SIZE('{"a": 1}') Result;
Hasil:
+--------+ | Result | +--------+ | 13 | +--------+
Dalam hal ini, ukuran dokumen adalah 13 byte.
Ini adalah dokumen JSON yang sedikit lebih besar.
SELECT JSON_STORAGE_SIZE('{"a": 1, "b": 2, "c": 3}') Result;
Hasil:
+--------+ | Result | +--------+ | 29 | +--------+
Jadi yang ini 29 byte.
Dan ini yang lebih besar lagi.
SET @data = '{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }'; SELECT JSON_STORAGE_SIZE(@data) Result;
Hasil:
+--------+ | Result | +--------+ | 86 | +--------+
Contoh 2 – Kolom Basis Data
Berikut ini contoh mendapatkan ukuran penyimpanan dokumen JSON yang disimpan di kolom database.
USE Music; SELECT JSON_STORAGE_SIZE(Contents) Size FROM Collections WHERE CollectionId = 1;
Hasil:
+------+ | Size | +------+ | 503 | +------+
Dalam hal ini, kolom database adalah kolom JSON dan berisi data berikut.
USE Music; SELECT JSON_PRETTY(Contents) Contents FROM Collections WHERE CollectionId = 1;
Hasil:
[ { "Albums": [ { "AlbumName": "Powerage" } ], "ArtistName": "AC/DC" }, { "Albums": [ { "AlbumName": "Ziltoid the Omniscient" }, { "AlbumName": "Casualties of Cool" }, { "AlbumName": "Epicloud" } ], "ArtistName": "Devin Townsend" }, { "Albums": [ { "AlbumName": "Powerslave" }, { "AlbumName": "Somewhere in Time" }, { "AlbumName": "Piece of Mind" }, { "AlbumName": "Killers" }, { "AlbumName": "No Prayer for the Dying" } ], "ArtistName": "Iron Maiden" } ]
Dalam hal ini, saya menggunakan JSON_PRETTY()
berfungsi untuk membuat hasil lebih mudah dibaca.