JSON ユーティリティ関数

このドキュメントでは、JSON ユーティリティ関数について説明します。

JSON_PRETTY()

JSON_PRETTY(json_doc)関数は JSON ドキュメントをきれいにフォーマットします。

SELECT JSON_PRETTY('{"person":{"name":{"first":"John","last":"Doe"},"age":23}}')\G
*************************** 1. row *************************** JSON_PRETTY('{"person":{"name":{"first":"John","last":"Doe"},"age":23}}'): { "person": { "age": 23, "name": { "first": "John", "last": "Doe" } } } 1 row in set (0.00 sec)

JSON_STORAGE_FREE()

JSON_STORAGE_FREE(json_doc)関数は、JSON 値がその場で更新された後に、バイナリ表現で解放されるstorage容量を返します。

注記:

TiDB は MySQL とは異なるstorageアーキテクチャを持っているため、この関数は有効な JSON 値に対して常に0を返し、 MySQL 8.0との互換性用に実装されています。TiDB はインプレース更新を行わないことに注意してください。詳細については、 RocksDB のスペース使用量参照してください。

SELECT JSON_STORAGE_FREE('{}');
+-------------------------+ | JSON_STORAGE_FREE('{}') | +-------------------------+ | 0 | +-------------------------+ 1 row in set (0.00 sec)

JSON_STORAGE_SIZE()

JSON_STORAGE_SIZE(json_doc)関数は、JSON 値を格納するために必要なバイトのおおよそのサイズを返します。サイズは圧縮を使用する TiKV を考慮していないため、この関数の出力は MySQL と厳密には互換性がありません。

SELECT JSON_STORAGE_SIZE('{}');
+-------------------------+ | JSON_STORAGE_SIZE('{}') | +-------------------------+ | 9 | +-------------------------+ 1 row in set (0.00 sec)

参照

このページは役に立ちましたか?