|
原帖由 rollingpig 于 2011-3-16 10:29 发表 ![]()
另外,考虑在t2处增加order by s desc . 去除 最后的rank() over(order by x desc)。
在结果集为92行时效果不明显,但是数万行时就有区别了,性能会提高一些。
当然,这会带来一定的风险,在执行计划发生变化的时候可能导致结果集不是真正排序的。
不过,原code中select rank() over(order by x desc),x from t3 也是不是十分严谨,靠的是执行计划中的"window sorts"来获得排序结果,同样可能在执行计划发生变化的时候发生没有排序的可能性。当然了,排序这一步,相信不是重点的考虑对象。
同意关于RANK()的看法,不管如何一定要ORDER BY 1,不能靠分析函数里面的排序。 |
|