Oracle SQL分页语句与性能
例如:
TRIP_BASEINFO 出差申请表共有1665条数据,使用sql developer进行性能分析。
--------------------------------------------------------------------
select * from
(
select rownum rn, t.* from (
select trip.* from TRIP_BASEINFO trip
) t where rownum <= 100
) t1 where t1.rn >= 90;
共用时间:cost = 11315
走全表扫描
----------------------------------------------------------------------
select trip1.* from
(
select rownum rn, t.to_id from (
select trip.to_id from TRIP_BASEINFO trip
) t where rownum <= 100
) t1 inner join TRIP_BASEINFO trip1 on t1.n_id = trip1.n_id
where t1.rn >= 90;
以上to_id为主键
共用时间:cost = 171
走主键索引
此种分页语句最佳。
-----------------------------------------------------------------------
select * from TRIP_BASEINFO where to_id in (
select to_id from (
select rownum rownum_, to_id from (
select to_ID from TRIP_BASEINFO
) where rownum <= 100
) where rownum_ >= 90
)
共用时间:cost = 172
使用了in
-------------------------------------------------------------------------
分享到:
相关推荐
Oracle SQL分页语句是数据库查询中的一个重要概念,它允许我们从海量数据中按需获取特定范围的结果,比如第一页、第二页等。在Oracle数据库系统中,实现分页查询通常使用ROWNUM伪列或者结合RANK()、DENSE_RANK()、...
Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在MySQL中可能需要转换为DECIMAL、TEXT或BLOB。例如,Oracle的NUMBER可以转换为MySQL的DECIMAL或...
总结,Oracle数据库SQL语句的性能优化是一个涉及多方面知识的综合过程,包括索引策略、查询优化器使用、子查询与连接优化、分页查询、存储过程设计、资源管理、SQL语句重构以及利用各种内置工具进行监控和调优。...
而Oracle的分页SQL语句更为简洁,适合在不支持存储过程或者简单场景下使用。但需要注意的是,Oracle的`ROWNUM`方式在处理有序数据时可能会有性能问题,因为`WHERE ROWNUM`条件可能无法充分利用索引。 在实际应用中...
本文将针对Oracle数据库中的SQL分页问题进行深入探讨,并提供具体的实现方法。 #### 二、Oracle SQL分页原理及方法 ##### 2.1 基本概念 分页查询是指将查询结果按照一定的数量分割成多个“页面”,用户可以通过...
本文将详细介绍一个特定的Oracle分页查询语句:“`select * from (select a.*,rownum rn from (select * from tablename) a where rownum) where rn>2`”,并对其背后的原理进行深入探讨。 #### 分页查询语句解析 ...
### 使用简单的SQL语句实现的Oracle数据库分页技术 #### 环境:Oracle 9i 在Oracle数据库中实现分页查询是一项常见的需求,尤其是在处理大量数据时。本文将介绍一种利用简单SQL语句来实现Oracle数据库分页的方法,...
### Oracle SQL 分页技术详解 在Oracle数据库管理中,实现数据分页是一项常见的需求,尤其在处理大量数据时,为了提高用户体验和系统性能,我们往往需要将查询结果按页显示。与MySQL等其他数据库管理系统提供的`...
这个类库允许开发者通过指定表名、所需字段、查询条件和排序方式,自动生成高效的SQL分页语句。这种语句通常基于“ROW_NUMBER() OVER(PARTITION BY...ORDER BY...)"窗口函数,这种方式可以在查询时仅扫描必要的数据...
用ORACLE的SQL语句实现多栏分页输出.RTF
### Oracle 分页 SQL 语句详解 #### 一、引言 在数据库操作中,分页查询是非常常见的需求之一,特别是在大数据量的情况下,通过分页技术可以有效地提高系统的响应速度和用户体验。Oracle 数据库提供了多种方式进行...
本文将详细介绍三种主流数据库(SQL Server、MySQL和Oracle)中的分页SQL语句实现方法。 #### SQL Server 的分页SQL语句实现 SQL Server 支持通过`TOP`关键字来实现分页查询。具体实现方式如下: 1. **查询第M页...
本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用操作,帮助读者巩固和提升Oracle数据库操作技能。 1. **数据查询基础** - `SELECT`语句是SQL中最基本的查询命令,用于从一个或多...
本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询语句通常遵循一个标准格式,如下所示: ```sql SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) A WHERE ...
但了解底层的SQL分页机制有助于理解框架的工作原理,也能在必要时进行优化。 在提供的"demo2"文件中,可能包含了一个已经封装好的Oracle JDBC分页实现,你可以查阅这个示例代码,了解具体的实现方式。该示例可能是...
标题“Sql语法转换为Oracle语法”涉及到的主要知识点是SQL Server与Oracle数据库之间的SQL语句转换。这通常是因为在系统迁移或跨平台开发时,需要将SQL Server的查询语句适应Oracle数据库的语法。 描述中提到的...
数据库SQL分页技术 数据库分页是指从大规模的数据集中提取指定的记录数,以减少数据传输量,提高应用程序的性能和用户体验。常见的数据库管理系统包括MySQL、SQL Server、Oracle、DB2等,每种数据库管理系统都有其...
在“Oracle的SQL语句练习题及参考答案”中,我们很可能会遇到各种与`SELECT`语句相关的练习,这是SQL中最基础且最重要的部分。 `SELECT`语句用于从数据库中检索数据,其基本语法结构如下: ```sql SELECT column1,...
### Oracle 分页查询并返回总记录数据存储过程 在数据库应用开发中,为了提高用户体验以及减少服务器负担,分页查询成为了一种常见的技术手段。Oracle 数据库提供了多种方法来实现分页查询,其中使用存储过程是一种...
本篇文章将通过具体的例子来介绍如何使用JDBC实现SQL分页查询。 #### 二、基础知识回顾 1. **ROWNUM函数**:在Oracle数据库中,`ROWNUM`是一个特殊的伪列,它为结果集中的每一行分配一个唯一的数字,从1开始递增。...