Wpf 在MSSQL中解析XML需要很长时间

Wpf 在MSSQL中解析XML需要很长时间,wpf,sql-server,xbap,Wpf,Sql Server,Xbap,我有一个传递给存储过程的大型xml流,但在xml的某个特定部分上,我得到的响应时间很长,几乎为1.30分钟,这会重复很多次 我已经检查了执行计划,xml结构的两个部分占用了几乎所有的处理时间。在插入之前,我还试着先将它读入两个临时表,但这并没有帮助。XML的大小为368Kb,因此我强烈怀疑我的XML要么不可靠,要么缺少帮助简化解析的内容 有没有更好的方法来表达xml,使Xpath()更容易解析?我真的不知道还能做什么 xml的结构是: <root> <someobject>

我有一个传递给存储过程的大型xml流,但在xml的某个特定部分上,我得到的响应时间很长,几乎为1.30分钟,这会重复很多次

我已经检查了执行计划,xml结构的两个部分占用了几乎所有的处理时间。在插入之前,我还试着先将它读入两个临时表,但这并没有帮助。XML的大小为368Kb,因此我强烈怀疑我的XML要么不可靠,要么缺少帮助简化解析的内容

有没有更好的方法来表达xml,使Xpath()更容易解析?我真的不知道还能做什么

xml的结构是:

<root>
<someobject>
 <param1></param1>
 <param1></param1>
</someobject>
<somethingelse>
 <param1></param1>
 <param1></param1>
</somethingelse>
<row1>
  <param1></param1>
  <param1></param1>
  <param1></param1>
  <param1></param1>
  <param1></param1>
  <param1></param1>
  <param1></param1>
  <param1></param1>
</row1> 

谢谢你的帮助

试试这个,它可能会更快

Select   
   XmlParam.Doc.value('(fieldA/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldB/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldC/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldD/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldE/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldF/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldG/text())[1]','bit')
  ,XmlParam.Doc.value('(fieldH/text())[1]','bit')
From @Xml.nodes('//Flow/StepData') XmlParam(Doc)  

这就成功了,把执行时间从1分30秒降到了6秒。/text()将它指向最后一个节点,如果没有它,它将指向整个元素。再次感谢!只有在你回答之后,我才找到一篇关于它的帖子:
Select   
   XmlParam.Doc.value('(fieldA/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldB/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldC/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldD/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldE/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldF/text())[1]','UNIQUEIDENTIFIER')
  ,XmlParam.Doc.value('(fieldG/text())[1]','bit')
  ,XmlParam.Doc.value('(fieldH/text())[1]','bit')
From @Xml.nodes('//Flow/StepData') XmlParam(Doc)