h24*_*601 3 xml sql-server-2012
在 SQL Server 数据库中存储和/或使用 XML 架构的真实生产环境示例是什么?
我正在按照 Microsoft 70-461 考试目标努力工作。我已经完成了 Microsoft 在https://technet.microsoft.com/en-us/library/ms176009(v=sql.110).aspx 上的数据库中创建和存储 XML 模式的 演练。
我还没有在应用程序将访问存储在数据库中的 XML 模式的数据库环境中工作。在生产 SQL Server 数据库中创建和存储 XML 架构的真实用例是什么?
XML 架构不存储在 SQL Server 中,因此应用程序可以访问它们。存储 XML 模式集合的原因在于它们如何改进对 XML 数据的处理。
根据XML 模式集合的 MSDN 页面:
SQL Server 使用此类型信息来优化数据存储。
查询处理引擎还使用模式进行类型检查以及优化查询和数据修改。
此外,在类型化 xml 的情况下,SQL Server 使用关联的 XML 架构集合来验证 XML 实例。如果 XML 实例符合模式,则数据库允许将实例及其类型信息存储在系统中。否则,它拒绝该实例。
并且,根据MSDN page for Compare Typed XML to Untyped XML:
XML 模式提供以下内容:
验证约束。每当分配或修改类型化 xml 实例时,SQL Server 都会验证该实例。
数据类型信息。模式提供有关 xml 数据类型实例中属性和元素类型的信息。与非类型化 xml 相比,类型信息为实例中包含的值提供了更精确的操作语义。例如,可以对十进制值执行十进制算术运算,但不能对字符串值执行。因此,类型化的 XML 存储可以比非类型化的 XML 更紧凑。
所以使用 XML 模式集合的原因是:
type="xsd:int"
它比无类型占用更多的空间,但也许其他类型,例如datetime
和/或float
优化更好)下面是两篇与类型化 XML 的性能优势相关的文章/帖子。有人提到 XML 索引在使用类型化 XML 时的性能比使用非类型化时要好得多。但是,也有人提到类型化 XML 对 DML 操作更不利。
归档时间: |
|
查看次数: |
2932 次 |
最近记录: |