ORDER BY 也是要优化的而且有很大的优化空间(转)

order by按聚集索引列排序效率最高 
  我们来看:(gid是主键,fariqi是聚合索引列)

  
select top 10000 gid,fariqi,reader,title from tgongwen

  用时:
196 毫秒。 扫描计数 1,逻辑读 289 次,物理读 1 次,预读 1527 次。

  
select top 10000 gid,fariqi,reader,title from tgongwen order by gid asc

  用时:4720毫秒。 扫描计数 
1,逻辑读 41956 次,物理读 0 次,预读 1287 次。

  
select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc

  用时:4736毫秒。 扫描计数 
1,逻辑读 55350 次,物理读 10 次,预读 775 次。

  
select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi asc

  用时:173毫秒。 扫描计数 
1,逻辑读 290 次,物理读 0 次,预读 0 次。

  
select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi desc

  用时:156毫秒。 扫描计数 
1,逻辑读 289 次,物理读 0 次,预读 0 次。

  从以上我们可以看出,不排序的速度以及逻辑读次数都是和“
order by 聚集索引列” 的速度是相当的,但这些都比“order by 非聚集索引列”的查询速度是快得多的。

  同时,按照某个字段进行排序的时候,无论是正序还是倒序,速度是基本相当的。

posted @ 2008-07-25 10:11  威尼斯的夏天  阅读(196)  评论(0编辑  收藏  举报