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 NULL
se json_val
for NULL
.
A função gerará um erro se json_val
nã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 employees
tabela 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 employees
tabela na employees_results
tabela:
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 data
coluna 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