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

oracle 无order by , 默认排序问题 以及oracle的问题

 
阅读更多
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使用order by排序null值如何处理

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

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    1.5.6 ORDERBY子句 13 1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-...

    最全的oracle常用命令大全.txt

    SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小 ...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    对SQL排序,只要在order by后面加字段就可以了,可以通过加desc或asc来选择降序或升序。但排序规则是默认的,数字、时间、字符串等都有自己默认的排序规则。有时候需要按自己的想法来排序,而不是按字段默认排序规则...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    oracle实验报告

    ORDER BY deptno,sal; SPOOL off /*终止SPOOL功能,关闭其文件。注意,此命令不可省,否则将建立空文件。 五、 实验内容 1、以cs+学号为用户名创建用户,并授予用户创建数据对象的权限。 2、复制emp表,复制表名为...

    Oracle数据库、SQL

    5.4 order by后面可以跟什么 10 5.5多列排序 10 六、 单行函数的使用 11 6.1数值类型 11 6.2日期类型 11 6.3字符类型 13 6.4转换函数 14 6.5其他注意事项 14 七、 SQL语句中的分支 15 7.1分支表达式 15 7.2分支函数 ...

    Oracle练习笔试大全

    (使用order by desc字段 对数据进行降序排列 默认为升序asc); 27、select * from dept where deptno <>10 order by deptno asc; //(我们可以将过滤以后的数据再进行排序) 28、select ename, sal, deptno from emp...

    Mysql利用group by分组排序

    首先先按某个字段进行order by,然后把有顺序的表进行分组,这样每组的成员都是有顺序的,而mysql默认取得分组的第一行。从而得到每组的最值。 select id, (@rowno := @rowno + 1) as rank, score, (C.end_ti

    oracle数据库经典题目

    14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp 15. Oracle提供了两种类型的权限:系统权限和对象权限。系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...

    Oracle9i的init.ora参数中文说明

    说明: 指定数据库的默认语言, 该语言将用于消息, 日期和月份名, AD, BC, AM 和 PM 的符号, 以及默认的排序机制。可支持的语言包括英语, 法语和日语等等。 值范围: 任何有效的语言名。 默认值: 根据操作系统而定 ...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from ....

    orcale常用命令

    SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小 ...

    2009达内SQL学习笔记

    Order by:按某排序列表(默认升序 asc,由低到高;可加 desc,改成降序由高到低) 检索返回数据的顺序没有特殊意义,为了明确地排序用 SELECT 语句检索出的数据,可使用 ORDER BY 子句。 ORDER BY 子句取一个或多个...

    精髓Oralcle讲课笔记

    (使用order by desc字段 对数据进行降序排列 默认为升序asc); 27、select * from dept where deptno <>10 order by deptno asc; --(我们可以将过滤以后的数据再进行排序) 28、select ename, sal, deptno from ...

    测试培训教材

    You can run a system test in order to retrieve a machine's system information, view a captured desktop image of a test run on a machine, or restart a machine. For example, you can run a system cleanup...

    经典SQL语句大全

    select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: 关于数据库分页: declare @start int,@...

    数据库操作语句大全(sql)

    select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: 关于数据库分页: declare @start int,@...

Global site tag (gtag.js) - Google Analytics