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, 1780🔥, 0💬
Popular Posts:
How To Install Oracle Database 10g XE in Oracle? To install 10g universal edition, double click, Ora...
How To Convert Characters to Numbers in Oracle? You can convert characters to numbers by using the T...
How To Connect ASP Pages to Oracle Servers in Oracle? If you are running Windows IIS Web server and ...
How To Break Query Output into Pages in MySQL? If you have a query that returns hundreds of rows, an...
How To Provide Default Values to Function Parameters in SQL Server Transact-SQL? If you add a parame...