JSONタイプ
TiDBは、半構造化データの保存に役立つJSON (JavaScript Object Notation)データ型をサポートしています。 JSONデータ型には、 JSON形式の文字列を文字列列に格納するよりも次の利点があります。
- シリアル化にはバイナリ形式を使用します。内部形式により、
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;