pivot 用order by 语句排序时,老是超时的解决办法,超Easy

pivot是用来把某列字段转成行字段,可能我描述不太清楚,这个用过的都知道的啦,所以我也不费口水了,切入正题。

 

我之前用pivot建了个视图View1,然后我有一个sql语句,如下(一直都运行得好好的):

Select * From [View1] Order By CreateDate Desc

 

突然间,这玩意不知道抽什么风,一执行就超时,半个小时都无响应,而实际上的数据(Select * From [View1])只有400来条~~,真火大。

 

后来想想,之前一直好好的,会不会是因为新入了一笔带有特殊符号的记录原缘故呢?于是我就开始这样子搞了,假设这个[View1]有400条记录吧,

那我就执行 Select Top 399 * From [View1] Order By CreateDate Desc看看,F5...正常...

好了,再执行  Select Top 400 * From [View1] Order By CreateDate Desc 一看,我了个去,还是正常...

于是狠下心来 Select Top 10000 * From [View1] Order By CreateDate Desc 还是正常,哦,HOHO,那就行了~

 

呵呵,没错,就这么简单,加个Top 10000就行了,反正这个数据一般不会太多的,有个1000用户都看不完啦,对吧?更何况我10000,所以,这样子就好了。

 

 

 

注:

  1、我搞不懂为什么去掉Order By 为什么就可以执行了,刷的一声就出来了,有知道奸情的同学可以告诉我一下么~

  2、我更不知道为什么加个Top 上去,Order By就又正常了~

posted @ 2013-03-08 15:03  Seasons1987  阅读(1007)  评论(0编辑  收藏  举报