小编Rak*_*esh的帖子

在SQL Server中,使用.modify()XQuery删除节点需要38分钟才能执行

在SQL Server中,我有一个带有XML类型临时变量的存储过程,我正在对该变量执行删除操作.当我在具有4个内核和6 GB RAM的本地VM中运行此存储过程时,执行需要24秒.但是当我在具有40个内核和128 GB RAM的服务器中运行相同的存储过程时,此删除语句执行时间超过38分钟.整个存储过程在此删除语句中被挂起38分钟.注释掉delete语句后,存储过程将在8秒内在服务器上执行.我如何解决这个性能问题.SQL服务器配置有什么问题吗?

DECLARE @PaymentData AS XML

SET @PaymentData = .....(Main XML Query)

SET @PaymentData.modify('delete //*[not(node())]')
Run Code Online (Sandbox Code Playgroud)

@Mikael:下面是在服务器上粉碎成行解决方案的执行计划(具有40个内核和128 GB RAM) 在此输入图像描述 在此输入图像描述 以下是我本地VM中的执行计划(具有4个内核和6 GB RAM): 在此输入图像描述 在此输入图像描述

xml sql-server xquery

6
推荐指数
1
解决办法
814
查看次数

标签 统计

sql-server ×1

xml ×1

xquery ×1