sql >> Databáze >  >> RDS >> Mysql

JSON_STORAGE_SIZE() – Najděte velikost úložiště dokumentu JSON v MySQL

V MySQL je to JSON_STORAGE_SIZE() Funkce vrací počet bajtů použitých k uložení binární reprezentace dokumentu JSON.

Jako argument poskytujete dokument JSON.

Když je argument JSON Tato funkce vrací místo použité k uložení dokumentu JSON tak, jak byl vložen do sloupce, před případnými dílčími aktualizacemi, které na něm mohly být poté provedeny.

Když je argumentem řetězec, funkce vrátí množství úložného prostoru v binární reprezentaci JSON, která je vytvořena analýzou řetězce jako JSON a jeho převodem na binární.

Syntaxe

Syntaxe vypadá takto:

JSON_STORAGE_SIZE(json_val)

Kde json_val je dokument JSON, pro který se má vrátit velikost úložiště. Musí se jednat o platný dokument JSON nebo řetězec, který lze analyzovat jako jeden.

Příklad 1 – Základní použití

Zde je příklad k demonstraci.

SELECT JSON_STORAGE_SIZE('{"a": 1}') Result;

Výsledek:

+--------+
| Result |
+--------+
|     13 |
+--------+

V tomto případě je velikost dokumentu 13 bajtů.

Zde je o něco větší dokument JSON.

SELECT JSON_STORAGE_SIZE('{"a": 1, "b": 2, "c": 3}') Result;

Výsledek:

+--------+
| Result |
+--------+
|     29 |
+--------+

Takže tohle má 29 bajtů.

A tady je zase větší.

SET @data = '{
  "Person": {
    "Age": 10,
    "Name": "Bart",
    "Friends": [
      "Bart",
      "Milhouse"
    ]
  }
}';
SELECT JSON_STORAGE_SIZE(@data) Result;

Výsledek:

+--------+
| Result |
+--------+
|     86 |
+--------+

Příklad 2 – Sloupce databáze

Zde je příklad získání velikosti úložiště dokumentu JSON, který je uložen ve sloupci databáze.

USE Music;
SELECT JSON_STORAGE_SIZE(Contents) Size
FROM Collections
WHERE CollectionId = 1;

Výsledek:

+------+
| Size |
+------+
|  503 |
+------+

V tomto případě byl sloupcem databáze sloupec JSON a obsahuje následující data.

USE Music;
SELECT JSON_PRETTY(Contents) Contents
FROM Collections
WHERE CollectionId = 1;

Výsledek:

[
  {
    "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"
  }
]

V tomto případě jsem použil JSON_PRETTY() aby byly výsledky čitelnější.


  1. Jak přidat oddělovač do zřetězeného řetězce v MySQL – CONCAT_WS()

  2. Formátování SQL v SQL Server Management Studio

  3. Jak správně vložit nový řádek do nvarchar

  4. Chyba PDB Unplug ORA-17528