SQL Server 2005中的XML?在Varchar中比JSON好吗?

Hen*_*nry 2 xml sql-server json sql-server-2005

在SQL Server中存储XML而不是在varchar字段中存储JSON有什么好处?

有关如何有效使用XML数据类型的任何教程?

我是否需要以某种方式提供dtd/xml架构?我听说它是​​可选的,对吗?

谢谢.

更新:这是Q的最后一部分的答案.

XML模式信息用于存储和查询优化.类型化XML实例包含内部二进制表示形式和XML索引中的类型化值.这提供了对类型化XML数据的有效处理.

引用自:http://msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx

mar*_*c_s 6

SQL Server 2005及更高版本中的XML允许您使用XQuery直接操作存储在数据库表中的XML - 您无法在VARCHAR字段中使用JSON实现这一点.

看看在Microsoft SQL Server 2005中的XML支持,并在SQL Server 2005中的XML数据类型的基础以获得更多信息和更多的背景.

此外,存储在SQL Server的XML列中的XML是"标记化的"并经过预解析 - 它不仅仅存储为纯文本.您甚至可以在您的XML上放置索引 - 在其节点上,它的值 - 无论您需要什么.


Rem*_*anu 5

将其存储为XML允许您利用SQL XML支持:XPATH,XQUERY,XML索引等.这些允许有效搜索和操纵内容.我建议您阅读Microsoft SQL Server 2005的XML最佳实践

VARCHAR中的JSON内容对搜索和操作不透明.