Sql server 2008 SQL Server XPath实现是基于SAX还是基于DOM

Sql server 2008 SQL Server XPath实现是基于SAX还是基于DOM,sql-server-2008,xml-parsing,Sql Server 2008,Xml Parsing,一个新手问题: 比如说,我有一个这样的T-SQL: DECLARE @xml XML SET @xml = '<r><b>123</b></r><r><b>456</b></r>' SELECT row.col.value('(b/text())[1]', 'integer') AS b_id FROM @xml.nodes('//r') row

一个新手问题:

比如说,我有一个这样的T-SQL:

     DECLARE @xml XML
         SET @xml = '<r><b>123</b></r><r><b>456</b></r>'
      SELECT row.col.value('(b/text())[1]', 'integer') AS b_id
        FROM @xml.nodes('//r') row(col)
DECLARE@xml
SET@xml='123456'
选择row.col.value('(b/text())[1],'integer')作为b_id
来自@xml.nodes('//r')行(列)
在运行XPath表达式时,我们是否知道MS Sql Server使用的是基于SAX的解析器还是基于DOM的解析器?希望得到澄清,因为我们正在考虑使用它将大量数据暂存到临时表中,并对临时表进行进一步处理。为了礼貌地对待数据服务器(在消耗CPU周期方面),我们希望确保不会造成问题。我试着在网上搜索,但找不到确切的答案

另外,我们应该使用OPENXML吗?它比临时的有什么好处吗


提前谢谢

我无法回答您的SAX/DOM查询,但您真正的问题似乎是如何高效地将XML加载到SQL Server中。提到了一种方法,SQL Server文档中也提到了这种方法

OPENXML()
可能不是最好的方法,因为首先必须将整个XML文档作为参数传递给,这意味着它不是批量加载数据的有用方法

然而,对于您来说,最好也最简单的方法是开始测试,看看不同的批量加载解决方案在您的环境中的性能如何