博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
您需要了解MySQL中的JSON
阅读量:2530 次
发布时间:2019-05-11

本文共 1413 字,大约阅读时间需要 4 分钟。

从前有一台计算机。 然后有人建立了第二台计算机,并希望第一台计算机上有一些代码。 这意味着我们需要一种无需依赖底层硬件即可移动信息的方法。 从那时起,已经出现了许多字符编码和交换标准(ASCII,EBCIDIC,SGML,XML等)。 在过去的几年中,JavaScript Object Notation(JSON)一直是最受欢迎的。

在MySQL 5.7之前,您可以在字符字段中存储JSON格式的文档。 但是大字符串的搜索比较麻烦,编写正则表达式以在该字符串中查找值可能会令人沮丧。 而且,如果更改了字符串的一部分,则必须重写整个字符串,这效率极低,但在MySQL 5.6之前是必需的。

MySQL中的JSON

MySQL在MySQL 5.7中引入了本机JSON数据类型。 因此,就像整数,字符或实数一样,有了一种方法,可以将整个JSON文档存储在数据库表的一列中-并且该文档在列中的大小可能约为1千兆字节! 服务器将确保它是有效的JSON文档,然后将其保存为针对搜索优化的二进制格式。 这种新的数据类型可能比其他任何功能都要负责MySQL的更多升级。

MySQL 8现在处于开发人员里程碑版本中,并将添加一些新功能。

数据类型还具有20多种功能。 这些功能将从文档中提取键值对,更新数据,提供有关数据的元数据,以JSON格式输出非JSON列,等等。 在心理上比REGEX容易得多。

MySQL 8现在处于开发人员里程碑版本中,并将添加一些新功能。 JSON_PRETTY_PRINT函数将格式化输出以使其更清晰。 而且在不重写整个文档的情况下重写部分数据的方式将有重大改进。

具有讽刺意味,是吗?

以无格式保存数据被认为是NoSQL功能。 Oracle,SQL Server,Postgresql等许多关系数据库都添加了JSON数据类型,从而模糊了NoSQL和SQL数据库的定义。

为什么文件存储很重要

JSON数据类型出现后不久,MySQL Document Store功能就出现了。 它是为不了解结构化查询语言(SQL)但希望使用数据库的开发人员设计的。

开发人员创建数据集合,并根据需要以所选的编程语言(Java,JavaScript,Node.JS,Python,C ++等)对数据执行创建,删除,更新和删除(CRUD)功能。 。 开发人员不需要任何SQL知识,并且可能不在乎在后台为他们执行SQL,因为他们的数据保存在JSON列中。 这样,他们就可以保存和使用数据,而不必开发标准化的数据库表,设计数据或在等待数据库管理员建立数据存储区时费时费力。 许多项目一开始都不了解数据的外观,而是通过发展数据以适应当前情况而继续进行。

而且,如果需要这些JSON文档中的老式关系数据,则可以轻松地将各种键提取到生成的列中以进行标准SQL工作,然后对生成的列进行索引以进行快速搜索。

缺点

JSON是一种以非正式方式存储数据的好方法。 但是关系数据库在规范化数据上蓬勃发展,所有信息都被规范化为更小的组成部分,以提高访问速度。 另外,可能对数据缺乏严格性,例如,当记录电子邮件地址的字段可能被键入为emaileMaile-mail或其他变体时。 但是,有许多令人信服的理由可以忽略严谨性,只要您了解自己可能会遇到麻烦。

如果您准备尝试一下,请 ,然后在那里下载因为它支持JSON列。 而且都是免费的!

翻译自:

转载地址:http://xwpzd.baihongyu.com/

你可能感兴趣的文章
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
RobotFramework自动化2-自定义关键字
查看>>
[置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了
查看>>
BABOK - 需求分析(Requirements Analysis)概述
查看>>
第43条:掌握GCD及操作队列的使用时机
查看>>
Windows autoKeras的下载与安装连接
查看>>
CMU Bomblab 答案
查看>>
微信支付之异步通知签名错误
查看>>
2016 - 1 -17 GCD学习总结
查看>>
linux安装php-redis扩展(转)
查看>>
Vue集成微信开发趟坑:公众号以及JSSDK相关
查看>>
技术分析淘宝的超卖宝贝
查看>>
i++和++1
查看>>
react.js
查看>>
P1313 计算系数
查看>>
NSString的长度比较方法(一)
查看>>
Azure云服务托管恶意软件
查看>>
My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包
查看>>