MySQL-JSON与虚拟列结合使用提升性能

2022/4/4 19:21:09

本文主要是介绍MySQL-JSON与虚拟列结合使用提升性能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1-获取 json中的属性值 【  列名 -> '$.属性名'  】

 

select extra -> '$.car_name' from m_table where  '$.car_name'="jojo";

 

2-优化查询性能,构建虚拟列,并在虚拟列上加索引 (json_extract:从指定数据中提取属性值;json_unquote:解除与json的引用;virtual:为虚拟列,只读不写

新增虚拟列(虚拟列 只读不写,但是更新 原列中的属性值,虚拟列的值也会同步更新)

 

alter table m_table add column `car_name` varchar(30)  GENERATED ALWAYS AS

(json_unquote(json_extract(`extra`,_utf8mb4,'$.car_name')))  virtual null

 

建立索引:

create index idx_car_name on m_table(car_name);



这篇关于MySQL-JSON与虚拟列结合使用提升性能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程