Função MySQL JSON_STORAGE_SIZE()

Resumo : neste tutorial, você aprenderá como usar a JSON_STORAGE_SIZE()função MySQL para obter o tamanho de armazenamento de um documento JSON.

Introdução à função JSON_STORAGE_SIZE() do MySQL

A JSON_STORAGE_SIZE()função retorna o tamanho do armazenamento em bytes de um documento JSON. Pode ser útil para estimar os requisitos de armazenamento de dados JSON.

Aqui está a sintaxe da JSON_STORAGE_SIZE()função:

JSON_STORAGE_SIZE(json_val)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • json_val: este é o valor JSON para o qual você deseja obter o tamanho do armazenamento. O json_value deve ser um documento JSON válido ou uma string que possa ser analisada como um documento JSON válido.

A JSON_STORAGE_SIZE()função retorna um número inteiro que representa o número de bytes de um valor JSON. A função retorna NULLse json_valfor NULL.

A função gerará um erro se json_valnão for NULL e não puder ser analisada como um documento JSON.

Exemplos de funções JSON_STORAGE_SIZE() do MySQL

Vejamos alguns exemplos de uso da JSON_STORAGE_SIZE()função.

1) Usando a função JSON_STORAGE_SIZE() do MySQL com um objeto JSON

O exemplo a seguir usa a JSON_STORAGE_SIZE()função para obter o tamanho de um objeto JSON:

SELECT 
  JSON_STORAGE_SIZE(
    '{"name":"John","age":30,"city":"New York"}'
  ) size;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------+
| size |
+------+
|   51 |
+------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo, a função retorna o tamanho de armazenamento necessário para o objeto JSON fornecido, que é de 51 bytes.

2) Usando a função JSON_STORAGE_SIZE() com um array

O exemplo a seguir usa a JSON_STORAGE_SIZE()função para obter o tamanho de uma matriz JSON:

SELECT 
  JSON_STORAGE_SIZE('[1, 2, 3]') size;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------+
| size |
+------+
|   14 |
+------+
1 row in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

3) Usando a função JSON_STORAGE_SIZE() com dados de tabela

Usaremos a employeestabela do banco de dados de exemplo :

Primeiro, crie uma nova tabela chamada employee_results:

CREATE TABLE employee_results(
    id INT PRIMARY KEY,
    data JSON
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, insira os dados da employeestabela na employees_resultstabela:

INSERT INTO employee_results(id, data) 
SELECT 
  employeeNumber, 
  JSON_OBJECT(
    'firstName', firstName, 'email', email
  ) 
FROM 
  employees;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, obtenha o tamanho da datacoluna usando a JSON_STORAGE_SIZE()função:

SELECT 
  id, 
  data, 
  JSON_STORAGE_SIZE(data) size 
FROM 
  employee_results;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------+----------------------------------------------------------------------+------+
| id   | data                                                                 | size |
+------+----------------------------------------------------------------------+------+
| 1002 | {"email": "[email protected]", "firstName": "Diane"}      |   68 |
| 1056 | {"email": "[email protected]", "firstName": "Mary"}     |   69 |
| 1076 | {"email": "[email protected]", "firstName": "Jeff"}     |   69 |
...Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Resumo

  • Use a JSON_STORAGE_SIZE()função para obter o tamanho do armazenamento em bytes de um documento JSON

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *