SQL Server中的类型化和非类型化XML之间的区别

时间:2016-02-04 09:38:01

标签: sql-server xml

有人能告诉我SQL Server中有类型和无类型XML的区别吗?

提前致谢。

3 个答案:

答案 0 :(得分:2)

除此之外,通过简短的研究,非常容易找到,很快就会出现一些问题:

类型化的XML 就像合同:我保证,您将找到给定结构的XML数据。

这是XML索引,查询优化和其他奇特事物的基础。

SQL Server提前知道的越多,它就越能创建执行计划。

非常重要:您将无法在同一列中存储不同的XML结构。

所以:如果您事先知道结构,并且知道它不会经常更改,并且您希望在该特定列中的表的所有行中存储相同类型的XML数据,那么请键入它。 / p>

这里有一个例子:http://www.dotnetfunda.com/interviews/show/583/what-is-typed-vs-untyped-xml-in-sql-server-explain-with-an-example

答案 1 :(得分:0)

  1. 类型化的XML类型具有XML模式来验证数据,其中未类型化的XML类型没有模式。
  2. 类型化XML类型具有存储和查询优化的优势,因为Untyped XML类型没有这种优势。
  3. 可以在客户端和服务器端验证类型化的XML类型,因为无类型的XML类型没有在服务器端验证的选项,因为它们没有任何模式。
  4. 类型化的XML类型可以在查询编译期间利用类型信息。

答案 2 :(得分:0)

参考这些: (它会给你一个想法 ) https://msdn.microsoft.com/en-us/library/ms184277.aspx

http://www.nullskull.com/faq/253/typed-xml-type-vs-untyped-xml-type-in-sql-server.aspx

另外,你可以参考quora。我在quora中看过这个。