使用MySQL 5.7+的json类型,可以灵活设计反范式宽表
##查询json字段中某个key
select XXX.* , column_json->'$.dist_request_id' from XXX where column_json->'$.dist_request_id'='123456789';
##生成虚拟字段,不能直接修改虚拟字段,会同步json中相应字段,并可以基于虚拟字段添加索引
alter table XXX add column 'v_request_id' varchar(32) generated always as (json_unquote(解除json引用,直接使用值)(json_extract('column_json',_utf8mb4 '$.dist_request_id'))) virtual null(允许为null)
##可以直接通过虚拟字段查询
select * from XXX where v_request_id = '123456789';