数据库SQL分页
来源:互联网 发布:2016全球碳排放量数据 编辑:程序博客网 时间:2024/05/16 01:13
采用数据库SQL分页需要两次SQL完成
一个SQL计算总数量
一个SQL返回分页后的数据
优点:性能好
缺点:编码复杂,各种数据库语法不同,需要两次SQL交互。
oracle数据库一般采用rownum来进行分页,常用分页语法有如下两种:
直接通过rownum分页:
select * from (
select a.*,rownum rn from
(select * from product a where company_id=? order by status) a
where rownum<=20)
where rn>10;
数据访问开销=索引IO+索引全部记录结果对应的表数据IO
采用rowid分页语法
优化原理是通过纯索引找出分页记录的ROWID,再通过ROWID回表返回数据,要求内层查询和排序字段全在索引里。
create index myindex on product(company_id,status);
select b.* from (
select * from (
select a.*,rownum rn from
(select rowid rid,status from product a where company_id=? order by status) a
where rownum<=20)
where rn>10) a, product b
where a.rid=b.rowid;
数据访问开销=索引IO+索引分页结果对应的表数据IO
实例:
一个公司产品有1000条记录,要分页取其中20个产品,假设访问公司索引需要50个IO,2条记录需要1个表数据IO。
那么按第一种ROWNUM分页写法,需要550(50+1000/2)个IO,按第二种ROWID分页写法,只需要60个IO(50+20/2);
- SQL数据库分页语句
- 数据库分页查询SQL
- SQL数据库分页
- 各个数据库sql分页
- 数据库SQL分页
- SQL Server 数据库分页
- 数据库SQL分页
- 数据库分页SQL语句
- 各种数据库分页sql
- Oracle 数据库分页SQL
- mysql 数据库sql分页
- SQL - 常用数据库分页
- sql server 数据库分页
- SQL 数据库分页技术
- sql数据库分页一
- 数据库分页sql
- 数据库分页查询SQL
- 常见数据库分页SQL语句
- Shell常用处理字符串方法(备查)
- 一行代码使得ie6 ie7 ie8兼容
- Factory模式和AbstractFactory模式
- WiMAX
- C细节
- 数据库SQL分页
- HSDPA
- php note
- 异常处理----------让缺陷掌握在自己手中
- 抓数据
- Resin 管理员默认账号登陆密码
- mysql_connect和mysql_pconnect区别
- first blood
- 在AIX5.3系统上安装oracle9i和weblogic