sql server 取几个到几条记录

本文介绍了两种SQL分页查询的方法,并对比了它们的性能差异。一种是直接选取前10条记录,另一种是从第11条记录开始选取20条记录。通过对这两种方法的SQL Server分析和编译时间进行对比,发现直接选取前10条记录的方法性能更优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、取前十条记录

select top 10 id from dbo.sysobjects

2、取11条记录到30条记录

select top 20 * from dbo.sysobjects where id not in
(select top 10 id from dbo.sysobjects)

性能分析


SET STATISTICS IO ON;

SET STATISTICS TIME ON;


SELECT TOP 10 *
FROM (SELECT TOP 20 * FROM sysobjects order BY id) as tbl2
ORDER BY tbl2.id DESC
SQL Server 分析和编译时间:

SELECT TOP 10 *
FROM (SELECT TOP 20 * FROM sysobjects order BY id) as tbl2
ORDER BY tbl2.id DESC


CPU 时间 = 0 毫秒,耗费时间 = 12 毫秒。

(所影响的行数为 10 行)

表 'sysobjects'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。

SQL Server 执行时间:
CPU 时间 = 2 毫秒,耗费时间 = 2 毫秒。

SQL Server 分析和编译时间:

select top 10 *
from sysobjects
where id not in (select top 20 id from sysobjects)


CPU 时间 = 14 毫秒,耗费时间 = 14 毫秒。

(所影响的行数为 10 行)

表 'sysobjects'。扫描计数 2,逻辑读 4 次,物理读 0 次,预读 0 次。

SQL Server 执行时间:
CPU 时间 = 0 毫秒,耗费时间 = 1 毫秒。

前者的性能,要好一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值