Oracle中使用Rownum分页详细例子
在MySQL中,我们通常都使用limit来完成数据集获取的分页操作,而在Oracle数据库中,并没有类似limit一样的方便方法来实现分页,因此我们通常都是直接在SQL语句中完成分页,这里就需要借助于rownum伪列或row_number()函数了,本文将分别展示使用rownum伪列和row_number()分析函数来完成Oracle数据分页操作的具体使用方法,并分析和比较两者的性能优劣。
一、初始化测试数据
首先测试数据我选取了数据字典all_objects表中的70000条数据,创建步骤如下:
--为了方便验证结果集以及避免不必要的排序,这里我直接使用了rownum来产生了有序的OBJECT_ID列 SQL>createtablemy_objectsas 2selectrownumasOBJECT_ID,OBJECT_NAME,OBJECT_TYPE 3fromall_objectswhererownum<70001;
Tablecreated.
--对OJBECT_ID列建立主键 SQL>altertablemy_objectsaddprimarykey(object_id);
Tablealtered.
SQL>selectcount(*)frommy_objects;
COUNT(*) ---------- 70000
--分析该表 SQL>execdbms_stats.gather_table_stats(user,'my_objects',cascade=>TRUE);
PL/SQLproceduresuccessfullycompleted.
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下