TOPN 子句与SET ROWCOUNTN 之对比

糖妈heart

糖妈heart

2016-01-29 16:21

TOPN 子句与SET ROWCOUNTN 之对比,TOPN 子句与SET ROWCOUNTN 之对比
 

问:为了从查询中返回指定数量的行,使用 TOPN 子句比使用SET ROWCOUNTN 语句要快吗?

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

答:在正确进行了索引的情况下,TOP N 子句和SET ROWCOUNT N 语句是一样快的,但是如果数据未经过排序,TOP N 要快一些。在输入未排序的情况下,TOP N 操作时使用一个经过排序的小的中间临时表,而且操作时仅仅替换该表的最后一行。如果输入是近似排序的,TOP N 引擎必须删除或插入最后行,但只需几次操作即可。近似排序意味着您正在处理的堆集在初始构建时可进行有序的插入操作,并且不需要进行很多的更新、删除、向前移动指针等操作。

排序一个近似排序的堆集比排序一个巨大的表要更有效率。在一次测试中,使用TOP N 来对一个由无序插入操作构建的并且含有同样的行数的表进行排序,发现TOP N 的效率也不高。通常,在进行过索引和未进行过索引的情况下,I/O时间都是一样的;但是如果没有进行过索引,SQL Server 必须要进行一次全表扫描。处理器时间和实耗时间说明近似排序的堆集要更有效率一些。但I/O时间是相同的,因为不管怎样SQL Server都要读取所有的行。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

 

 
展开更多 50%)
分享

猜你喜欢

TOPN 子句与SET ROWCOUNTN 之对比

SQLServer
TOPN 子句与SET ROWCOUNTN 之对比

java Collection 之Set使用说明

编程语言 网络编程
java Collection 之Set使用说明

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

《天天酷跑》攻略之白虎与鸟叔分析对比

天天酷跑 手机游戏 IOS
《天天酷跑》攻略之白虎与鸟叔分析对比

PSV《闪之轨迹2》物理与魔法对比详细解析

游戏动漫
PSV《闪之轨迹2》物理与魔法对比详细解析

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例

编程语言 网络编程
MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例

include()与require()的对比

PHP
include()与require()的对比

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

photoshop教程:制作漂亮的水晶彩带造型图标

photoshop教程:制作漂亮的水晶彩带造型图标

删除数据库中重复数据的几个方法

删除数据库中重复数据的几个方法
下拉加载更多内容 ↓