从以上我们可以看出,不排序的速度以及逻辑读次数都是和“order by 聚集索引列” 的速度是相当的,但这些都比“order by 非聚集索引列”的查询速度是快得多的。同时,按照某个字段进行排序的时候,无论是正序还是倒序,速度是基本相当的。
order by按聚集索引列排序效率最高
我们来看:(gid是主键,fariqi是聚合索引列)
![](/Images/OutliningIndicators/None.gif)
select top 10000 gid,fariqi,reader,title from tgongwen
![](/Images/OutliningIndicators/None.gif)
用时:196 毫秒。 扫描计数 1,逻辑读 289 次,物理读 1 次,预读 1527 次。
![](/Images/OutliningIndicators/None.gif)
select top 10000 gid,fariqi,reader,title from tgongwen order by gid asc
![](/Images/OutliningIndicators/None.gif)
用时:4720毫秒。 扫描计数 1,逻辑读 41956 次,物理读 0 次,预读 1287 次。
![](/Images/OutliningIndicators/None.gif)
select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc
![](/Images/OutliningIndicators/None.gif)
用时:4736毫秒。 扫描计数 1,逻辑读 55350 次,物理读 10 次,预读 775 次。
![](/Images/OutliningIndicators/None.gif)
select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi asc
![](/Images/OutliningIndicators/None.gif)
用时:173毫秒。 扫描计数 1,逻辑读 290 次,物理读 0 次,预读 0 次。
![](/Images/OutliningIndicators/None.gif)
select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi desc
![](/Images/OutliningIndicators/None.gif)
用时:156毫秒。 扫描计数 1,逻辑读 289 次,物理读 0 次,预读 0 次。
![](/Images/OutliningIndicators/None.gif)
从以上我们可以看出,不排序的速度以及逻辑读次数都是和“order by 聚集索引列” 的速度是相当的,但这些都比“order by 非聚集索引列”的查询速度是快得多的。
![](/Images/OutliningIndicators/None.gif)
同时,按照某个字段进行排序的时候,无论是正序还是倒序,速度是基本相当的。
![](/Images/OutliningIndicators/None.gif)