数据库分页
来源:互联网 发布:阿里云医疗 编辑:程序博客网 时间:2024/06/11 20:06
oracle:
1.无orderby:
特点:一层嵌套,速度最快
SELECT
*
FROM
(
Select
ROWNUM
AS
RN, T.*
from
tablename T
where
ROWNUM <= 20) TA
WHERE
TA.RN>= 10;
2.有orderby的查询
特点:效率最高
SELECT
*
FROM
(
SELECT
TT.*, ROWNUM
ROWNO
FROM
(
Select
t.*
from
tablename t
where
ORDER
BY
id(索引), flight_no) ta
WHERE
ROWNUM <= 20) TABLE_ALIAS
where
ta.rowno >= 10;
mysql:
limit基本语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
小数量级
select * from tablename orderby id limit pagesize*(pagenum-1),pagesize;
百万级级分页查询
1.分表
比如30w数据:以通常的查询方法进行全表扫描会导致很大的性能问题,此时需做分表设计,指定查询范围再有针对性的查询。
表A(id,,tt,mes,vv),其中id自增,tt为title,mes为存储信息,vv为索引
索引表:B(id,tt,vv)
步骤:对B进行分页查询,出结果后再根据vv对A表进行查询
分表的目的:虽然都是全表扫描,可是分表的最终目的是减小数据的查询量,因为mes的数据量很大,所以通过索引表B避过它,确定范围后再对A进行查询。
2复合索引(可突破百万)
另一篇引用:
0 0
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- 数据库分页
- Palindrome Linked List
- High scalability - Harvard notes.
- oracle9i与10g与11g的区别
- Shell基础之-split命令
- Shell基础之-tr命令
- 数据库分页
- Shell基础之-uniq命令
- Amazon 的 Docker - AWS ECS 是否適合作為網站部署的方案
- UI基础-04图片浏览器
- NSManagedObjectContext 积累
- mysql 更改默认数据目录
- 0.0.2 Android开发系列——Android开发基础环境
- 基于固件库的STM32F10x程序在Keil v5 MDK 下的RAM调试方法
- jquery1.9radio checkbox操作