我正在寻找关于OPENXML的一些建议。具体来说,表现。我看到一小段XML上的性能非常慢。
有关此事的原因是导致远程扫描。关于如何调整它的任何想法?
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @ResourceXML
DECLARE @tmpRes TABLE (ResourceID int, Quantity int, FormID int)
INSERT INTO @tmpRes (ResourceID, Quantity, FormID)
SELECT TMP.ID, TMP.Q, RESC.FormID
FROM OPENXML(@idoc, '/Resources/R') WITH (ID int, Q int) TMP
INNER JOIN dbo.tblResources RESC ON TMP.ID = RESC.ResourceID
WHERE RESC.OrgID = @OrgID
答案 0 :(得分:3)
远程扫描是优化器用来访问XML数据的,因为OPENXML实际上是数据库引擎的外部 - 所以这个位是正常的。
然而,优化程序使用的统计信息似乎存在问题,本文here讨论了这一点,提供了一些指示,但我不知道这是否有助于您的特定情况。