For XML的东西功能

时间:2017-07-26 15:12:15

标签: sql-server

SELECT DISTINCT PCode.EventID,
    stuff((SELECT DISTINCT ',' + E.ProcedureCode  from SXAESEventProcedureCode E where E.EventID = PCode.EventID 
    FOR XML PATH('')),1,1,'') ProcedureCode  
From SXAESEventProcedureCode PCode 

上面是脚本,而不是使用stuff函数,如何将其转换为逗号分隔。有没有办法替换不同的功能,虽然我需要使用逗号分隔的程序代码的唯一Eventid。

此查询占用了执行计划的近95%的费用。

1 个答案:

答案 0 :(得分:1)

STUFF与FOR XML PATH一起用于将行连接成一个列。我已经将它用于具有惊人性能的大型数据集。我认为这是这个问题,而是表格中的索引或缺少索引。

请与我们分享您的执行计划,以便指出索引问题。使用此链接可轻松分享:https://www.brentozar.com/pastetheplan/