SQL server 对结果集里的某个字段进行排序时特别慢

这个字段是通过子查询而来,并且是把多行用逗号隔开的,使用的是for xml path 语法,然后使用STUFF函数切割一下, 这样就得出这一列,然后在最后面再包一层select *。在最外层排序使用这一列, 导致查询速度特别慢, 用什么方法可以是查询速度快一点,通过这一列来排序时。

Cats萌萌
浏览 562回答 4
4回答

收到一只叮咚

对计算出来的结果做排序是用不了索引的,这个要找过另一种方法,从侧面去排序,把实际sql代码贴出来,需求说一下,说不定有其他方法可以解决这个问题。

米脂

1、查看下SQL 执行计划,贴出来,看是那一步引起的 2、查询慢的话可以加索引

慕婉清6462132

以下是查询计划, 对结果集中这个字段的排序,开销61%  

芜湖不芜

索引的话, 我是对查询出来的结果集进行的排序,而且这个字段是通过xml的格式,把多行合并为一行的。本源表中这个字段是uniqueidentifier类型的数据, 本来就做了非聚集索引。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server