Collections:
JSON_STORAGE_FREE() - Free Space in JSON Value
How to obtain the free space size in a JSON table column using the JSON_STORAGE_FREE() function?
✍: FYIcenter.com
JSON_STORAGE_FREE(json) is a MySQL built-in function that
returns the free space size in a JSON table column.
Free space occurs when JSON table column is partially updated with less data. For example:
CREATE TABLE jtable (jcol JSON);
INSERT INTO jtable VALUES ('{"a": 1000, "b": "FYIcenter", "c": "[1, 3]"}');
SELECT jcol, JSON_STORAGE_FREE(jcol) AS Size FROM jtable;
-- +----------------------------------------------+------+
-- | jcol | Size |
-- +----------------------------------------------+------+
-- | {"a": 1000, "b": "FYIcenter", "c": "[1, 3]"} | 0 |
-- +----------------------------------------------+------+
UPDATE jtable SET jcol = JSON_SET(jcol, "$.b", "FYI");
SELECT jcol, JSON_STORAGE_FREE(jcol) AS Size FROM jtable;
-- +----------------------------------------+------+
-- | jcol | Size |
-- +----------------------------------------+------+
-- | {"a": 1000, "b": "FYI", "c": "[1, 3]"} | 6 |
-- +----------------------------------------+------+
If you call JSON_STORAGE_FREE() will a JSON value, not a table column, it will returns 0. For example:
SELECT JSON_STORAGE_FREE('[100, "FYI", [1, 3, 5], 425.05]');
-- +------------------------------------------------------+
-- | JSON_STORAGE_FREE('[100, "FYI", [1, 3, 5], 425.05]') |
-- +------------------------------------------------------+
-- | 0 |
-- +------------------------------------------------------+
Reference information of the JSON_STORAGE_FREE() function:
JSON_STORAGE_FREE(json): int Returns the free space in a given JSON table column resulted from previous partial updates. Arguments, return value and availability: json: Required. The JSON table column to be examined. int: Return value. The the free space in the JSON column. Available since MySQL 8.0.
Related MySQL functions:
⇒ JSON_INSERT() - Inserting Members to JSON Value
⇐ JSON_EXTRACT() - Exacting Members from JSON
2024-12-18, 2163🔥, 0💬
Popular Posts:
How To Change the Name of a Database User in SQL Server? If you want to change the name of an existi...
What Are Date and Time Functions in MySQL? MySQL offers a number of functions for date and time valu...
What Are Date and Time Functions in MySQL? MySQL offers a number of functions for date and time valu...
What are DDL (Data Definition Language) statements for tables in SQL Server? DDL (Data Definition La...
How Fixed Length Strings Are Truncated and Padded in SQL Server Transact-SQL? When the length of the...