xiaochuan 发表于 2016-10-31 08:49:23

sql server 取几个到几条记录

  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 毫秒。
  前者的性能,要好一些

  
页: [1]
查看完整版本: sql server 取几个到几条记录