数据库分页
2016-02-20 10:56
357 查看
1.分页的概念
从数据库中查询出的记录分页显示。2.分页的目的
美观提高效率
3.分页方式
假分页真分页
区别:
假分页是将需要的记录全部查询出来一次加载在内存中,然后从内存中取出一定的记录条数进行显示。
真分页是每次真的从数据库中取出一定的记录条数。
显然,假分页更加消耗内存,在数据量很大时效率很低。因此,只有在数据量很小的时候才会考虑假分页,在实际应用中应用很多的是真分页。
4.如何分页
select * from( select e.*,rownum r from( select * from t_temp order by empno )e )where r<=end and r>=begin
已知条件
1.当前页currentPage
2.每页显示的最大行pageSize
容易推出
1.本页最后一行=currentPage * pageSize
2.上页最后一行=( currentPage - 1 ) * pageSize
推导公式
1.本页起始行
begin =上页最后一行 + 1
=( currentPage - 1 ) * pageSize + 1
2.本页终止行
end =本页最后一行
=currentPage * pageSize
5.总结
(1)数据库分页分为两种:真分页和假分页。实际应用中比较多的是真分页。(2)真分页计算公式:
本页起始行 = ( 当前页 - 1 ) * 每页显示最大行 + 1;
本页终止行 = 当前页 * 每页显示最大行
(3)分页查询SQL语句:
select * from(
select e.*,rownum r from( ---->step2:得到虚表e的「行号」和「全部记录」,便于分页
select * from emp order by empno ---->step1:查询出所有记录并排序【虚表e】
)e
)where r>=begin and r<=end ---->step3:按照分页条件查询最终结果(注意将begin和end用公式替换)
相关文章推荐
- Memcached源代码分析 - Memcached源代码分析之消息回应(3)
- SQL Server 取日期时间部分
- mysql设计的注意地方
- MySQL具体解释(19)----------海量数据分页查询优化
- MySql_安装及简单命令
- splProvider 实现动态sql
- Mysql在大型网站的应用架构演变
- MySQL字符集乱码总结
- MySQL 数据库常用命令小结
- banq 为什么大部分NoSQL不提供分布式事务?
- Oracle基础(二)---操作命令
- Navicat for mysql 快捷键整理
- MySQL存储引擎--MyISAM与InnoDB区别
- MySQL树形遍历
- SQL Server ->> SQL Server 2016新特性之 -- sp_set_session_context存储过程和SESSION_CONTEXT函数
- SQL server学习笔记
- [置顶]【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】
- [置顶].NET足球赛事资料数据库平台SmartLottery开源发布——全球足球联赛应有尽有
- [置顶].NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程