MySQL 高性能查询 JSON 数组字段值集合
可以使用 MySQL 的 JSON 函数和索引来高性能地查找 JSON 字段里数组类型的对象的某个字段的值的集合,具体步骤如下:
- 创建 JSON 字段的索引
首先需要创建 JSON 字段的索引,可以使用以下语句:
ALTER TABLE table_name ADD INDEX index_name ((json_field_name->'$.key'));
其中,table_name 为表名,index_name 为索引名,json_field_name 为 JSON 字段名,key 为需要查找的字段名。
- 使用 JSON 函数查询 JSON 字段
使用 JSON 函数查询 JSON 字段,可以使用以下语句:
SELECT json_field_name->'$.key' FROM table_name WHERE json_field_name->'$.array_field_name' IS NOT NULL;
其中,json_field_name 为 JSON 字段名,key 为需要查找的字段名,table_name 为表名,array_field_name 为 JSON 数组字段名。
- 使用索引加速查询
使用索引加速查询,可以使用以下语句:
SELECT json_field_name->'$.key' FROM table_name USE INDEX (index_name) WHERE json_field_name->'$.array_field_name' IS NOT NULL;
其中,index_name 为索引名。
通过以上步骤,可以高性能地查出 MySQL 的 JSON 字段里数组类型的对象的某个字段的值的集合。
原文地址: https://www.cveoy.top/t/topic/jjAo 著作权归作者所有。请勿转载和采集!