sql分页操作

看到了网上关于分页的讲解  对最快的分页语句做了测试 还别说速度真快 总共6w条数据 速度确实so 快

前提是id是主键 或者是所引

declare @page int;--页数
declare @PageSize int;--单页显示数

select @page=1;
select @pageSize=1000;

select top (@pageSize) * from rdrecord rd
left join Vendor Ven on rd.cVenCode =Ven.cVenCode
where
(id >
	(
		select isnull(max(id),0) from
			( select top ((@page-1)*@pageSize) id from rdrecord order by id ) RDSID
	)
)
order by id

  

时间: 2024-10-31 04:31:26

sql分页操作的相关文章

SQL临时表加分页操作

常用的分页存储 DECLARE @SQL NVARCHAR(2000) SET @SQL = 'SELECT @TotalCount=COUNT(1) FROM #temptable' + @Condition EXEC sp_executesql @SQL, N'@TotalCount INT OUTPUT', @TotalCount OUTPUT DECLARE @ExeSQL NVARCHAR(4000) SET @ExeSQL = ' WITH temp AS ( SELECT TOP

[转]关于SQL分页存储过程的分析

[转]关于SQL分页存储过程的分析 建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存.游标一建立,就将相关的记录锁住,直到取消游标.游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作.而对于多表和大表中定义的游标(大的数据集合

分页操作

进行网页开发,那么就少不了分页查询.分页查询在mysql中是最方便的,使用mysql的关键字LIMIT(mysql独有),即可进行分页查询.如下是mysql的分页查询的sql语句: SELECT * FROM hero LIMIT ?, ? # 第一个?表示的是从那条数据开始查询 # 第二个?表示的是每次查询的数据的条数 而在Oracle中也有一个方言,专门用来Oracle数据库的分页查询,关键字为:ROWNUM 和 row_number() 下面使用mysql演示分页: jsp页面: <%@

SQL语句操作大全

SQL语句操作大全   本文分为以下六个部分: 基础部分 提升部分 技巧部分 数据开发–经典部分 SQL Server基本函数部分 常识部分 一.基础 1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server— 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNw

mybatis-generator 添加分页操作

源码:https://git.oschina.net/alexgaoyh/MutiModule-parent.git 效果图: 左边为分页操作的两个链接,默认一页10条数据,右边为数据库中的数据,页面没有处理,只是单纯的数据展现. 之前使用mybatis-generator插件生成了通用的代码部分,下面介绍一些修改点: 插件生成的 DemoExample 类,增加新的属性 (get set方法省略) protected MyRowBounds myRowBounds; 插件生成的 DemoMap

sql 分页查询

数据过多时sql中返回数据,开销大,用户还不一定会用到.这时使用sql分页查询,更具用户操作返回对应的数据就能极大程度提高效率. 分页有多种方法:top in.exist.row_number()等,在此只叙述相对高效的 max/top  分页方式 1.原始的 select * from dbo.pagetest where id >(select max(id) from (select top(9900) id from dbo.pagetest order by id)a) order b

SQL分页过多时, 如何优化

问题: 我们经常会使用到分页操作,这里有个问题,在偏移量非常大的时候,它会导致MySQL扫描大量不需要的行然后再抛弃掉.如: SELECT id, name FROM A ORDER BY id DESC LIMIT 10000, 20; 上述这条SQL语句需要查询10020条记录然后只返回最后20条.前面的10000条记录都将被抛弃,这样代价非常高. 方法一.延迟关联 优化此类分类查询的一个最简单的办法就是尽可能地使用索引覆盖扫描(如果一个索引包含(或者说覆盖)所有需要查询的字段的值,我们就称

传统servelt项目之分页操作

需求说明: • 演示最终分页效果 • 提供分页素材 • 分页的作用 • 数据量大,一页容不下 • 后台查询部分数据而不是全部数据 • 降低带宽使用,提高访问速度 • 分页的实现思路 • MVC四个层次都需要参与分页操作SXT SXT 练习2——理解PageBean • 需求说明: • 提供面向对象的PageBean,降低分页难度,实现功能重用 • 理解PageBean的属性和方法 • 分页的三个基本属性 • 1.每页几条记录size 可以有默认值5 • 2.当前页号 index 可以有默认值1

SQL写操作 设置内容 (数组转字符串)

SQL写操作 设置内容 (数组转字符串) SQL set内容 SQL操作数组转字符串 SQL写操作 set内容 (数组转字符串) [ 封装方法 ] function getSqlSet( $data ){ $Str = "";  foreach( $data as $k => $v ){  $Str.= $k."='".$v."',";  }  $Str = substr($Str,0,-1);  return $Str;  }  如执行i