MySQL JSON怎么进行格式检索

2017-01-06 11:06:09文章来源:126下载热度:0

  MySQL labs版本开始InnoDB存储引擎已经原生支持JSON格式,该格式不是简单的BLOB类似的替换。下面我们来详细探讨下吧

  软件名称:mysql下载

  软件大小:11.10MB

  MySQL5.7版本开始支持JSON格式,在创建表时,可以指定列表的数据类型为JSON,但是如何在JSON格式上创建索引呢??

  本人做了一个简单测试。

  第一步:建立一个包含JSON类型的表:

  CREATE TABLE json_test` (

  id` int (8) NOT NULL AUTO_INCREMENT,

  content` json NOT NULL ,

  PRIMARY KEY (`id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  第二步:初始化数据

  insert into json_test(content) value( '{"name":"zhangsan","age":18}' );

  insert into json_test(content) value( '{"name":"lisi","age":19}' );

  insert into json_test(content) value( '{"name":"wangwu","age":20}' );

  第三步:查询JSON类列的数据

  select json_extract(content, '$.name' ) from json_test where json_extract(content, '$.name' )= "zhangsan" ;

  通过expain分析改查询语句,发现其走全表扫描

  


  在网上查询资料,得知如果要在JSON列上进行检索,需要对检索的key创建虚拟列,然后再虚拟列上创建索引

  第四步:在content列上,对"name"建立虚拟列

  ALTER TABLE json_test ADD name_virtual varchar (32) GENERATED ALWAYS AS (json_extract(content, '$.name' )) VIRTUAL;


上一篇SQL Server远程连接服务器详细配置下一篇2017年最值得入手的旗舰手机
编辑:莹莹

友情链接

2014金融院校排名  | ppt照片由远到近  | 火影纲手被轮黄漫图  | 周总结与计划  | 计算机维修  | 戚薇纹身图片  | 囚徒健身  | sevenbaby  | 上班一个月的工作总结  | 儿童节的习俗  | 轮船图片  | 陈忆萱  |