这个字段是通过子查询而来,并且是把多行用逗号隔开的,使用的是for xml path 语法,然后使用STUFF函数切割一下, 这样就得出这一列,然后在最后面再包一层select *。在最外层排序使用这一列, 导致查询速度特别慢, 用什么方法可以是查询速度快一点,通过这一列来排序时。
对计算出来的结果做排序是用不了索引的,这个要找过另一种方法,从侧面去排序,把实际sql代码贴出来,需求说一下,说不定有其他方法可以解决这个问题。
1、查看下SQL 执行计划,贴出来,看是那一步引起的
2、查询慢的话可以加索引
以下是查询计划, 对结果集中这个字段的排序,开销61%
索引的话, 我是对查询出来的结果集进行的排序,而且这个字段是通过xml的格式,把多行合并为一行的。本源表中这个字段是uniqueidentifier类型的数据, 本来就做了非聚集索引。