JSON タイプ

TiDB は、半構造化データの格納に役立つJSON (JavaScript Object Notation) データ型をサポートしています。 JSONデータ型には、文字列列にJSON形式の文字列を格納する場合と比較して、次の利点があります。

  • シリアル化には Binary 形式を使用します。内部フォーマットにより、 JSONのドキュメント要素への迅速な読み取りアクセスが可能になります。
  • JSON列に格納された JSON ドキュメントの自動検証。有効なドキュメントのみを保存できます。

JSON列は、他のバイナリ型の列と同様に直接インデックス付けされませんが、生成された列の形式でJSONドキュメントのフィールドにインデックスを付けることができます。

CREATE TABLE city ( id INT PRIMARY KEY, detail JSON, population INT AS (JSON_EXTRACT(detail, '$.population')), index index_name (population) ); INSERT INTO city (id,detail) VALUES (1, '{"name": "Beijing", "population": 100}'); SELECT id FROM city WHERE population >= 100;

詳細については、 JSON 関数および生成された列を参照してください。