`
荷戟者
  • 浏览: 280141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle order by 的问题以及分页问题

 
阅读更多
转自:
Oracle会根据具体的数据块的存储返回记录.
oracle数据库是没有默认排序的 
要排序必须加上order  by 
因为oracle是按块进行读取数据的 
如果数据按顺序存储,则可能使读取出来的数据是按顺序的,给用户误解为默认排序
oracle没有进行任何排序操作,rowid表示的是数据存放的数据块内部地址,如果没有要求排序,oracle会顺序的从数据块中读取符合条件的数据返回到客户端,不过看起来好像是按照rowid排序似的

如果数据量足够大,即使相同的语句,都有可能不同的结果。
一般而言
表是堆表
所以是无序的
他是按照也即物理存放顺序来读取的
rowid 是自动随行生成的
 
另:
oracle 的rowid是啥意思
---------------------------------------------------------------

rowid是数据库的一个伪列,建立表的时候数据库会自动为每个表建立ROWID列
用来唯一标识一行记录。
rowid是存储每条记录的实际物理地址,对记录的访问是基于ROWID。
---------------------------------------------------------------

每条记录的物理地址,
对数据库中记录行的作快检索方式就是使用rowid来进行查找。
---------------------------------------------------------------

唯一标识一行记录
select rowid,* from 表名
试一下,你就明白了
---------------------------------------------------------------

rowid就象是邮递员送信时要找的信封上的家庭地址一样,每个rowid都不会重复,oracle查找通过它可以更快地查找到数据.
---------------------------------------------------------------

rowid是一个伪列,对应 块号,行号,行的序号..
---------------------------------------------------------------
个人不是dba。上的文章是转载的,其他的东西请知道的补充下,对这一块有点迷惑。
 
 
关于分页
如果没有排序(对唯一的字段),如果此时分页的话,很可能出现重复的数据。
 
分享到:
评论

相关推荐

    解决Oracle分页查询中排序与效率问题

    ### 解决Oracle分页查询中排序与效率问题 在Oracle数据库中进行分页查询时,经常会出现性能瓶颈,尤其是在处理大数据量的情况下。本篇文章将详细探讨如何优化Oracle分页查询中的排序与效率问题。 #### 一、理解...

    如何解决Oracle分页查询中排序与效率问题

    这是因为 Oracle 在执行 ORDER BY 操作时,会先执行 ORDER BY 语句,然后再进行分页处理。 知识点 3: 解决排序问题的方法 方法一:使用子查询 可以使用子查询来解决排序问题。首先,执行一个子查询来获取所有记录...

    Oracle的SQL分页实践

    在Oracle数据库中,SQL分页是一种非常...总的来说,Oracle的SQL分页实践涉及到数据库查询优化、索引策略以及Java应用程序中的数据访问层设计。理解并熟练运用这些方法,能帮助开发者构建高效、响应迅速的数据驱动应用。

    Oracle&JSP分页和Oracle分页

    总结来说,Oracle和JSP结合实现分页涉及以下几个步骤:在Oracle中构造分页查询,使用JDBC在Servlet中执行查询,然后在JSP页面中展示数据。理解并熟练掌握这些步骤对于开发高效、用户友好的数据驱动网站至关重要。在...

    Oracle 3种分页SQL方法比较

    本文将详细探讨三种常用的Oracle分页SQL方法:ROWNUM、ROWNUM结合子查询以及新引入的Oracle 12c的FETCH NEXT WITH OFFSET语法。这三种方法各有优缺点,适用于不同的场景。 1. ROWNUM方法: ROWNUM是Oracle中最基础...

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    在描述中提到的问题中,当使用`ORDER BY`对包含非唯一值的列进行排序,并结合分页查询时,发现不同页码的数据可能会有重复。这进一步证实了`ORDER BY`在Oracle中的不稳定特性。在没有唯一索引或主键约束的情况下,...

    oracle 分页完整代码

    在Oracle数据库中,分页查询是一项非常常见的操作,特别是在处理大量数据时,为了提高用户体验,我们需要将结果集分块加载,这就是所谓的分页。在这个Java和Oracle结合的分页实现中,我们将探讨如何通过Java后端配合...

    Oracle 存储过程分页

    总结,Oracle 存储过程中的分页实现有很多种方式,包括ROWNUM、ROW_NUMBER()、CTE、FETCH FIRST子句,以及JOIN和游标等。选择哪种方法取决于具体的需求,如数据库版本、性能需求、查询复杂性等因素。正确使用分页...

    Oracle分页(limit方式的运用)

    ORDER BY EMPLOYEE_ID FETCH FIRST 10 ROWS ONLY; ``` 这里的`page_number`代表当前页码,例如当`page_number=2`时,查询第2页的数据,即从第11条到第20条记录。 #### 三、Oracle分页的实现步骤 1. **确定分页...

    oracle的分页查询

    本文将讲解 Oracle 中的分页查询,包括使用 ROWNUM 伪列和 ORDER BY 子句对查询结果进行排序和分页。 一、使用 ROWNUM 伪列实现分页查询 在 Oracle 中,ROWNUP 伪列是一个特殊的列,可以用来实现分页查询。例如,...

    Oracle的分页查询语句 Oracle分页的存储过程

    总的来说,Oracle的分页查询涉及到多个层面的优化策略,包括选择合适的分页方式、利用查询提示以及考虑联接方法。理解这些概念有助于编写更高效的分页查询语句,尤其在处理大数据量的场景中。在实际应用中,应根据...

    oracle分页查询

    在 Oracle 中,使用 ORDER BY 语句对数据进行排序,然后使用 ROWNUM 函数来限制输出结果集的范围。但是,需要注意的是,Oracle 在执行查询时,会首先执行 ORDER BY 语句,然后执行 ROWNUM 函数。如果想取得排序后的...

    jsp分页 oracle 插件demo

    SELECT ROW_NUMBER() OVER (ORDER BY your_column) AS row_num, your_columns FROM your_table ) WHERE row_num BETWEEN (current_page - 1) * records_per_page AND current_page * records_per_page ``` 这里的...

    oracle存储过程通用分页

    在Oracle中,我们可以使用ROWNUM伪列来进行分页,但这种方法在某些情况下效率不高,尤其是当查询条件包含ORDER BY子句时。 为了实现更高效的分页,我们可以创建一个存储过程,该过程接受两个参数:当前页号(PageNo...

    Oracle-C#分页控件

    除了ROWNUM,Oracle还提供了其他高级的分页方法,比如使用`ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...)`的窗口函数。这种方法更灵活,可以实现复杂的分组和排序,但对性能的影响可能稍大。 总的来说,Oracle...

    oracle的伪列与分页

    ### Oracle的伪列与分页 #### 一、Oracle伪列概述 在Oracle数据库中,伪列(Pseudocolumn)并非真正意义上的列,而是一种特殊的数据库对象,它看起来像表中的一个列,但实际上并不存储数据。Oracle提供了一些内置...

    Oracle SQL语句分页问题

    select top @pagesize b.* from (select top @tre_pagesize /*,*/ from /*orderby*/ desc) a, b where b./*=a.*/ order by a./**/ -- 解析 -- 这里使用了两个嵌套的select语句,但`TOP`关键字在Oracle中不支持。 --...

    oracle采用jdbc连接方式分页

    4. **构造分页SQL**:Oracle的分页查询通常使用`SELECT * FROM (SELECT * FROM your_table WHERE condition ORDER BY sort_column) WHERE ROWNUM BETWEEN start AND end`这样的结构。其中,`your_table`是你的表名,...

    使用Oracle数据库时的Web分页方法

    在使用Oracle数据库构建Web应用程序时,分页是提高用户体验的关键技术。这主要涉及到从大量数据中筛选出用户关心的部分,并以合适的数量展示在每个页面上。分页不仅可以优化页面加载速度,还可以帮助用户更容易地...

    oracle sql分页语句

    使用这些函数,可以结合`PARTITION BY`和`ORDER BY`来实现分页: ```sql SELECT * FROM ( SELECT your_columns, RANK() OVER (ORDER BY sort_column) AS rank FROM your_table ) WHERE rank BETWEEN n + 1 AND n...

Global site tag (gtag.js) - Google Analytics