8、SQL Server中的JSON支持

SQL Server中的JSON支持

1. SQL Server 2017中的JSON存储

自SQL Server 2005引入对XML的支持后,也实现了原生的XML数据类型。而SQL Server 2016引入了对JSON的内置支持,但与XML不同,它没有原生的JSON数据类型。微软团队未引入新数据类型的原因如下:
- 迁移问题 :在SQL Server 2016之前,开发人员就已经需要处理JSON数据。
- 跨特性兼容性 :nvarchar数据类型在所有SQL Server组件中都受支持,因此JSON在任何地方(内存优化表、时态表和行级安全性)也都能得到支持。
- 客户端支持 :即使引入新的数据类型,大多数客户端工具在SQL Server外部仍会将其表示为字符串。

此外,如果认为PostgreSQL的JSON二进制格式或压缩格式(如压缩的JSON文本)是更好的选择,可以在UDT中解析JSON文本,将其作为JSONB存储在CLR UTD的二进制属性中,并创建可以使用该格式属性的成员方法。

虽然部分SQL Server社区期望在2017版本中看到原生JSON数据类型,但该版本仍未提供。从性能角度来看,原生JSON数据类型会更好,但开发需要更多的精力和时间,而且新功能的发布周期较短,这也是在评估该功能时需要考虑的因素。尽管没有原生数据类型,但内置支持也是一个不错的实现,是非常有用的功能。

由于没有JSON数据类型,JSON数据以文本形式存储在NVARCHAR列中。可以使用新添加的COMPRESS函数来压缩JSON数据并将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值