1

我有一个接受 XML 参数的存储过程。截至目前,我当前的实现是使用以下方法扫描整个 SP 主体中的 XML 节点:

SELECT
tbl.col.value('col1[1]', 'varchar(100)') as colA
tbl.col.value('col1[2]', 'varchar(100)') as colB
tbl.col.value('col1[3]', 'varchar(100)') as colC
tbl.col.value('col1[4]', 'varchar(100)') as colD
FROM @xmLInput.nodes('//root/elem1') as tbl(col)

现在我正在研究优化我的SP。我的一个朋友建议将@xmlInput 的所有值存储在一个表中,并在整个SP 中使用该表,而不是在我的SP 的其余部分使用@xmlInput 中的SELECT。

你们觉得把它放在临时桌子上会更好吗?

4

1 回答 1

0

我会尝试两种方式。我在我的代码中做了,发现 XML 比临时表快 8 倍。我还尝试动态生成查询,将所有内容都作为常量,这比 XML 快了 10 倍。

于 2013-06-29T03:36:18.163 回答