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%的费用。
答案 0 :(得分:1)
STUFF与FOR XML PATH一起用于将行连接成一个列。我已经将它用于具有惊人性能的大型数据集。我认为这是不这个问题,而是表格中的索引或缺少索引。
请与我们分享您的执行计划,以便指出索引问题。使用此链接可轻松分享:https://www.brentozar.com/pastetheplan/