为什么一个模式使XML列慢?(Why would a schema make an XML colu

2019-10-29 06:49发布

我有一个XML列的表。 这些文件是相当大的,不计其数,而我一直在尝试各种方式来提高基本查询的性能。

由于该文件表明,将一个XML Schema到列可以帮助SQL Server优化查询 - 因为一个是可用的 - 我创建了一个架构集合和应用的类型,我的XML列。

查询性能跑到悬崖。

我的意思是,很简单的测试变得难以忍受的缓慢。 我删除列的类型,如之前执行一样好查询。 这有发生在其他人身上吗?

我要指出的是,模式本身是相当大而复杂。 不过,这个结果似乎违反直觉的给我。

编辑:我担心的是,只有SELECT语句-事实上,这些文件将永远不会被修改,只浏览。 所以,我不明白为什么会需要,除了可能的优化,什么模式,一旦记录已经被插入和验证。

此外,我意识到这个问题 ,在这里对XML列的索引可以对性能产生不利影响。 这不是我的问题 - 一个指标已没有显着影响,积极或消极的,在我运行查询,我已经尝试了上述方案有和没有索引。

Answer 1:

我觉得你有你的答案就在那里:

我要指出的是,模式本身是相当大而复杂

一个复杂的模式可以是计算密集型的。 如果你在更新的特别的方式做多,该模式已被验证多次。



文章来源: Why would a schema make an XML column slower?