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, 755🔥, 0💬
Popular Posts:
Why I Can Not Enter 0.001 Second in DATETIME values in SQL Server Transact-SQL? If you enter millise...
How To Look at the Current SQL*Plus System Settings in Oracle? If you want to see the current values...
How To Use SQL*Plus Built-in Timers in Oracle? If you don't have a stopwatch/timer and want to measu...
How To Convert a Unicode Strings to Non-Unicode Strings in SQL Server Transact-SQL? Since Unicode ch...
How To Convert Numeric Values to Character Strings in MySQL? You can convert numeric values to chara...