为什么架构会使XML列变慢?

时间:2009-04-09 23:32:42

标签: sql-server-2005 performance xsd sqlxml

我有一个包含XML列的表。这些文件非常庞大且数量众多,我一直在尝试各种方法来提高基本查询的性能。

因为文档表明将XML Schema应用于列可以帮助SQL Server优化查询 - 并且因为一个可用 - 我创建了一个模式集合并将该类型应用于我的XML列。

查询表现岌岌可危。

我的意思是,最简单的测试变得无法忍受。我删除了列类型,执行的查询与之前一样。这是否发生在其他人身上?

我应该注意到架构本身相当庞大而且精心设计。不过,这个结果对我来说似乎是违反直觉的。

编辑:我只关注SELECT语句 - 实际上,这些文档永远不会被编辑,只会被浏览。因此,一旦插入并验证了记录,我就无法理解为什么除了可能的优化之外还需要其他任何模式。

另外,我知道this issue,其中XML列上的索引可能会对性能产生负面影响。这不是我的问题 - 索引对我正在运行的查询没有明显的影响,无论是积极的还是消极的,我在使用和不使用索引的情况下尝试过上述场景。

1 个答案:

答案 0 :(得分:0)

我想你的答案就在那里:

  

我应该注意到架构本身相当庞大而且精心制作

复杂的模式可能在计算上非常强烈。如果你在更新方面做了很多工作,那么必须多次验证模式。