-2
我有一个工作查询,如下图所示:与组优化SQL查询通过和汇总
SELECT TOP 1000
c.B,
c.N,
c.V,
c.T,
SIS = stuff((
SELECT ', ' + si.S
FROM
COMP com
JOIN CCA cca ON com.Cid = cca.CId
JOIN CC cc ON cca.Cid = cc.Cid
JOIN SI si ON si.SId = cc.SId
WHERE
com.N=c.N
FOR XML PATH('')), 1, 2, ''
)
FROM
COMP c
JOIN CCA cca ON c.Cid = cca.CId
JOIN CC cc ON cca.Cid = cc.Cid
JOIN SI si ON si.SId = cc.SId
where c.N like '%searchstring%'
and si.Sin like '%searchstring%'
group by c.B, c.N, c.V, c.T
order by c.N desc;
它提供了正确的结果。我正在做东西()以获得逗号分隔的聚合。查询很慢。想知道是否有办法优化它?
我想'FOR XML PATH'会让你的查询速度变慢,如果有可能改变你的方式;)。 –
与WHERE的LIKE比较,查询速度也慢 – Fabio