使用Sql服务器Xml列以确保快速性能和易于报告的最佳做法是什么?Sql Server Xml列最佳实践
你如何设置列? 你把它作为无类型吗? 或将其与模式关联?
是否将xml列与模式关联可提高查询性能?
我们的XML列的使用方法如下:
A.>在每个客户基础,我们可以定义自己的数据的灵活的存储无大修我们的分贝。
B.我们需要为每个返回数据的客户构建报表视图,就好像它是一个简单的表格(对于水晶报表或Sql Server Reporting Services)。
我们目前使用的查询语法如下:
SELECT
Id,
doc.value('@associatedId','nvarchar(40)') as AssocId,
doc.value('@name1', 'nvarchar(255)') as Name1,
doc.value('@name2', 'nvarchar(255)') as Name2,
doc.value('@name3', 'nvarchar(255)') as Name3,
doc.value('@number', 'nvarchar(255)') as Number
From OrderDetails
CROSS APPLY OrderDetails.XmlData.nodes('//root/reviewers/reviewer') as XmlTable(doc)
有一个更快的方式做到这一点?这个查询对于我们在一个拥有100万条记录的表中运行缓慢,但目前只有800个有xml数据!
感谢
皮特
绝对创建一个XML索引! – 2010-08-20 21:42:28