MYSQL中json类型添加索引

在5.7版本之后 mysql引入新类型“json”

但是在数据量大的情况加 直接搜索json中的内容会造成慢sql

于是便想办法如何给json加上索引

但是json类型本身是不支持索引的

于是另辟蹊径   发现了一个新特性

虚拟字段

首先对旧表做新增字段处理

加入虚拟字段  虚拟字段的值来源为json中数据

alter table 表名 add 新增虚拟字段名 VARCHAR(20) GENERATED ALWAYS AS (`data` ->> '$.数据来源')

加完之后我们得到了一个新字段 直接给新字段加索引就可以了

CREATE INDEX `idc_idx` ON `表名`(`虚拟字段名`);  

友情提示:

如果你的数据库设计规范  可避免这样的问题

能重构还是需要重构才可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值