在SQL中优化XML

时间:2013-03-19 14:21:06

标签: sql-server xml xpath xquery sql-server-2012

我最近开始使用TSQL在表列中使用XML,并且发现它比我的平均每天3rd-Normal-Form-associative-tables-Query-joining慢得多,从我用150万行进行的测试来看,我的意思是比它慢8倍3rd-Normal-Form-associative-tables-Query-joining。好处是,使用XML,如果以特定方式设置,它会阻止您设置额外的关联表(在我的测试中,我的关联表(多个连接表=许多关系的大小达到750万行,相比之下)在我的桌子上使用大小为150万行的XML存储相同的信息。但是不要介意我的咆哮,这只是对我已经执行的2组表的测试。

问题

对我来说很难解释,因为我只是SQL Server的初学者。在列中使用Untyped XML的最佳实践是什么,以及如何优化包含此XML的表以最佳速度执行,因为我现在必须处理带有SQL Scripts的XPath和XQuery(这似乎是原因)根据执行计划严重减速?)

1 个答案:

答案 0 :(得分:2)

您可以采取一些措施来改善xml字段的性能

  • 添加主XML索引
  • 添加辅助索引
  • 使用XML架构
  • 创建一个从XML
  • 中提取数据的计算字段

XML字段的IO密集程度略低,但CPU密集程度更高。检查这是否是一个问题