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数据并将
超级会员免费看
订阅专栏 解锁全文
891

被折叠的 条评论
为什么被折叠?



