数据库json字段类型总结

----------------------------------------=================以下是个人自己总结,可能只有自己看的懂。===================-------------------------------------------------------------

业务场景:

  (1)因图书存在多种标签类型,如科幻,科技,自然等类似分类。如果采用数据库字段区分会造成表太大。到数据量达到千万级时,查询效果明显不行。

解决方案:

   mysql5.7+以上版本提供了json数据类型,用来解决数据文本检索。

使用过程:

  1.创建数据库字段为json类型

    alter table ‘表名’ add '字段名' json null comment '测试json字段';

  2.插入json格式数据

  3.查询检查一下效果

    explain  select  json -> '$.字段'  from '表名'  where json -> '$.字段' = '条件值' 

  4.实际场景中,一般我们都不会入场3查询。一般采用虚拟列来表示json字段中的列,这样方便于查询。创建虚拟列如下。

    alter table ‘表名’ 

    add column '虚拟字段名' carchar (50)

    generated  alawys as (json_unquote(json_extract(json,utf8mb4'$.json需要虚拟的字段'))) virtual null;

    json_unquote 函数:去掉引号的功能 将原json串的引号去掉转成string类

    json_extract   函数:根据键查对象

  5.当建好虚拟列之后就可以正常写SQL查询,如果修改了json 字段数据中文本,响应的虚拟字段会时时更新为最新的。

  

----------------------------------------=================以上是个人自己总结,可能只有自己看的懂。===================-------------------------------------------------------------

posted @   果粒杀手  阅读(2065)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示