首页 > 数据库技术 > 详细

Mysql5.7.9原生JSON格式支持

时间:2015-10-22 12:38:05      阅读:681      评论:0      收藏:0      [点我收藏+]

Mysql5.7.9原生JSON格式支持

创建表

create table news (uid int auto_increment, data json, primary key(uid))engine innodb;

插入数据

insert into news values (NULL,‘{"name":"tester","mail":"test@gmail.com","address":"Shangahai"}‘)

插入数据不是Json格式,会报以下错

insert into news values(NULL,‘test‘);
Error Code: 3140.Invalid JSON text: "Invalid value." at position 1 in value (or column) ‘test‘

新内置函数,高效地处理JSON字符,不需要遍历所有数据查找。

select json_extract(data, ‘$.name‘),json_extract(data,‘$.address‘) from news where json_extract(data, ‘$.name‘) = ‘David‘;

技术分享


虚拟列功能,通过传统的B+树索引即可实现对JSON格式部分属性的快速查询

加虚拟列

ALTER TABLE user ADD user_name varchar(50) GENERATED ALWAYS AS (json_extract(data,‘$.name‘)) VIRTUAL;

加索引

alter table user add index idx_username (user_name);

和普通列查询一样

select * from user where user_name=‘"David"‘


Mysql5.7.9原生JSON格式支持

原文:http://my.oschina.net/xinson/blog/520535

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!