Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

JSON_STORAGE_SIZE() – Temukan Ukuran Penyimpanan Dokumen JSON di MySQL

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa string koneksi driver MySQL JDBC?

  2. KEDUA() Contoh – MySQL

  3. Cara Menyisipkan data dari satu tabel database ke tabel database lain di Mysql

  4. Bagaimana cara menghapus semua tabel MySQL dari baris perintah tanpa izin basis data DROP?

  5. MySQL DATEDIFF() vs TIMESTAMPDIFF():Apa Bedanya?