JSON 类型

JSON 类型可以存储 JSON 这种半结构化的数据,相比于直接将 JSON 存储为字符串,它的好处在于:

  1. 使用 Binary 格式进行序列化,对 JSON 的内部字段的查询、解析加快;
  2. 多了 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 的更多信息,可以参考 JSON 函数生成列