也说sql server分页查询

转载 2004年08月28日 10:18:00

现在一般常用的有以下2种方法:

1. select top @pagesize * from table1 where id not in  (select top @pagesize*(@page-1) id  from table1 order by id) order by id

2. select *  from (select top @pagesize * from (select top @pagesize*@page * from table1 order by id) a order by id desc) b order by id

哪种方法更好?试了一下.

做两个table,各有1万条记录,一个table的id有index,一个没有

图1,没有index的table,取第1000-1100条记录

图2,没有index的table,取第9000-9100条记录

图3,有index,取第1000-1100条记录

图4,有index,取第9000-9100条记录

可以发现sort的字段建立了index的条件下,第1个方法快很多,特别是查到后面页数的时候.原因就在于第2个方法中,第一次做了select 后,再做自查询时,index已经没有了.sort就会非常影响性能了.

高效的SQLSERVER分页查询(推荐)

Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询...
  • qiaqia609
  • qiaqia609
  • 2014年11月24日 14:53
  • 152500

高效的SQLSERVER分页查询(推荐)

Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询...
  • JavaAlpha
  • JavaAlpha
  • 2013年11月22日 16:34
  • 3504

给初学者分享四种 Sql Server分页查询使用示例

 当我们显示列表信息的时候,我们常常以分页形式显示,当然在ASP.NET中的ListView和GridView控件等都自带了分页功能,但是效率很低,无法适用大量数据,并且灵活性不高。因而我们一般...
  • taotoxht
  • taotoxht
  • 2015年07月27日 16:09
  • 962

《SQLServer》------常用的分页查询语句

前言 在SqlServer中,分页查询是经常用到的查询语句,一个好的分页查询语句,不能能将代码省略,还能提高运行效率,下面我们来探讨一下SQLServer中的分页查询语句。 具体的业务逻辑是这样的,我...
  • u013067402
  • u013067402
  • 2016年10月24日 12:01
  • 5714

几种常用数据库 分页查询的sql语句和简单分析

sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumber 页数 从客户端传来 totalRecouds 表中的总记录数 se...
  • responsecool
  • responsecool
  • 2014年08月15日 09:45
  • 10029

SQL server 海量数据库的查询优化及分页算法(收藏)

http://www.w17x.com/AritcleDisplay.aspx?id=661 具体如下: 如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页...
  • hliq5399
  • hliq5399
  • 2016年05月19日 09:51
  • 4408

SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如...
  • limingblogs
  • limingblogs
  • 2016年04月25日 21:53
  • 1363

sqlserver上一页,下一页以及高效分页查询语句

方法一:   string preSql = "select top 1 * from news where news_id   string nextSql = "select top 1...
  • zhejingyuan
  • zhejingyuan
  • 2013年06月06日 11:31
  • 2924

sql server 纯sql语句分页 存储过程 返回结果集及页总数等

经常要对数据库中的数据进行大量的查询,特别是业务后台,但是EF等提供的语句应用起来可能看起来复杂、臃肿,我们需要借助SQL语句、或者存储过程来取得结果 1、.net EF 定义参数 using (Y...
  • hejisan
  • hejisan
  • 2016年07月05日 23:49
  • 1654

总结一些分页查询的方法SQL server,MySQL,oracle数据库及hibernate中

分页查询是数据库查询中经常用到的一项操作,对查询出来的结果进行分页查询可以方便浏览。那么Oracle、SQL Server、MySQL是如何实现查询的呢?本文我们就来介绍这一部分内容。以及hibe...
  • angus_737093684
  • angus_737093684
  • 2016年11月08日 08:29
  • 1082
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:也说sql server分页查询
举报原因:
原因补充:

(最多只允许输入30个字)