`
老竹枝
  • 浏览: 80952 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle Order By 排序问题

阅读更多
  最近在一个应用中,发现报表分页后丢失记录,但是记录总数是一样的。经过仔细检查SQL确认语句正确,而且如果不分页的话出来的数据就是正确的。怀疑Oracle的order by 算法是不稳定排序算法。
  经过测试,发现确实如此。如果排序的列存在大量相同记录,而且没有索引的话,每次执行相同语句得到的记录排序是不确定的(其实Oracle相关文档里面有提及)。
  在排序中增加主键或者rowid,问题解决。
分享到:
评论

相关推荐

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

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

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

    2. **排序问题**: - **解决方案**:如果排序字段有索引,则直接使用该索引进行排序。如果没有索引,建议为排序字段创建一个索引。同时,尽量避免使用复杂的排序规则(例如多个字段排序),这会增加排序的复杂度和...

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

    Oracle 分页查询优化与排序解决方案 ...在 Oracle 分页查询中,排序问题是一个常见的问题。通过使用子查询或 INLINE VIEW,可以解决排序问题。但是,需要根据实际情况选择合适的方法,并考虑查询性能的影响。

    union all与order by用法

    在 Oracle PL/SQL 中, UNION ALL 和 ORDER BY 的使用需要遵循一定的规则和限制。本文将详细介绍 UNION ALL 和 ORDER BY 的用法,并通过实例解释其应用场景。 UNION ALL 的用法 UNION ALL 用于合并两个或多个 ...

    oracle分组排序统计高级用法

    通过本文的介绍,我们可以看到Oracle数据库提供了多种强大的工具来处理分组、排序和统计问题。其中`GROUP BY`、`ORDER BY`、`OVER`子句以及`ROW_NUMBER()`、`RANK()`、`DENSE_RANK()`等分析函数都是非常有用的工具。...

    oracle-sort-order-by.rar_oracle_sort - order

    在Oracle数据库中,排序(Sort)是SQL查询中不可或缺的一部分,`ORDER BY`子句用于决定查询结果的显示顺序。本篇文章将深入探讨Oracle数据库的日文排序机制,这对于在日本进行外包软件开发的工程师来说尤其重要。 ...

    oracle排序

    在 Oracle 中,可以使用 ORDER BY 语句对数据进行字符方式排序。例如,以下语句将对 perexl 表中的数据按照 xx 列进行排序: SELECT * FROM perexl ORDER BY perexl.xx; 二、按字符对应的数字方式排序 在 Oracle ...

    浅谈Oracle优化排序的操作

    Oracle的排序操作通常发生在以下几种情况下:创建索引、索引维护、ORDER BY、GROUP BY、DISTINCT、UNION/INTERSECT/MINUS以及SORT-MERGE JOIN等。 **排序空间**:在进行排序时,Oracle会先尝试在`sort_area_size`...

    oracle处理的类型 oracle行排序

    首先,我们需要理解在Oracle中进行数据排序的基本语法,即SQL的ORDER BY子句。当我们在查询语句(如SELECT)中添加ORDER BY,Oracle会根据指定的列或表达式对结果集进行升序(ASC,默认)或降序(DESC)排序。例如:...

    对Oracle 排序中的几种常用排序的介绍

    8. **分页查询**:Oracle中通常使用`ROWNUM`进行分页,但要注意`ORDER BY`和`ROWNUM`的配合使用。如果先`ORDER BY`再用`ROWNUM`,可能会导致分页结果不正确。正确的做法是: ```sql select * from ( select ...

    oracle使用order by排序null值如何处理

    大–>小>,null值排在最前面) 指定: 1.Oracle Order by支持的语法 2.指定Nulls first 则表示null值的记录将排在最前(不管是asc 还是desc) 3.指定Nulls last 则表示null值的记录将排在最后(不管是asc 还是desc) ...

    oracle排序方法拼音,部首,笔画

    ### Oracle排序方法:拼音、部首、笔画 在Oracle数据库中,为了适应不同语言环境下的数据处理需求,提供了一套强大的多语言支持工具。其中,“NLS_SORT”参数允许用户按照不同的规则对数据进行排序,这对于处理中文...

    oracle数据库中汉字排序方法

    1. **字符集问题**:在使用`SCHINESE_PINYIN_M`排序时需要注意数据库的字符集设置。如果数据库字符集为GBK,则可以直接使用该排序规则;如果是UTF-8,则需要确保数据库配置支持UTF-8编码。 2. **性能考量**:不同...

    09.Oracle的order by关键字1

    在 Oracle 数据库中,`ORDER BY` 是一个重要的 SQL 关键字,用于对查询结果集进行排序。在本文中,我们将深入理解 `ORDER BY` 的使用方法,并通过具体示例来展示其功能。 首先,我们需要了解如何创建和填充数据表。...

    oracle__汉字排序

    ### Oracle 汉字排序详解 #### 一、引言 在处理中文数据时,数据库中的汉字排序功能显得尤为重要。本文将围绕Oracle数据库中的汉字排序功能进行深入探讨,特别是Oracle 9i版本及其之后版本中关于汉字排序的具体...

    ORACLE-排序优化[归纳].pdf

    4. 创造并监测临时表空间:合理分配和管理临时表空间,避免空间不足导致的排序问题。 了解在内存中执行排序的数量有助于优化资源分配,通过监控 PGA 的使用情况,可以发现排序操作对内存的需求,进而调整相关参数。...

Global site tag (gtag.js) - Google Analytics