对于SQL没有加OrderBy的语句的查询结果,Oracle11c和Oracle12g的排序机制是一样的吗?

hsbraver 2019-01-29 05:21:53
如:
select id from table1 where age > 21

这样的SQL没有加order by id语句。

那么oracle11c和oracle12g对其查询结果的排序机制是一样的吗?
(如都是按原table1表插入时,所定义的表的聚簇索引来排序?)
...全文
593 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsbraver 2019-02-22
  • 打赏
  • 举报
回复
谢谢5楼回答,理解了
卖水果的net 2019-02-20
  • 打赏
  • 举报
回复

-- 给你写了个例子,你参考一下。

SQL> 
SQL> create table test(id int, name varchar(10), xh int);
Table created
SQL> begin
  2    for x in 1..30 loop
  3      insert into test values(dbms_random.value() * 100, 'XXX', x);
  4    end loop;
  5    commit;
  6  end;
  7  /
PL/SQL procedure successfully completed
SQL> create index ix_test on test(id, xh);
Index created
SQL> col id format a8;
SQL> col xh format a8;
SQL> select id, xh from test where id > 21;
      ID       XH
-------- --------
      26        6
      28        5
      38        8
      48       18
      49        9
      49       24
      49       26
      58       12
      65       25
      68       15
      72       20
      78       19
      81        1
      87       10
      87       28
      89       21
      92        2
      92       29
      95       30
      97       16
      ID       XH
-------- --------
      97       17
     100        4
22 rows selected
SQL> select id, xh, name from test;
      ID       XH NAME
-------- -------- ----------
      81        1 XXX
      92        2 XXX
      14        3 XXX
     100        4 XXX
      28        5 XXX
      26        6 XXX
       3        7 XXX
      38        8 XXX
      49        9 XXX
      87       10 XXX
       3       11 XXX
      58       12 XXX
       3       13 XXX
       3       14 XXX
      68       15 XXX
      97       16 XXX
      97       17 XXX
      48       18 XXX
      78       19 XXX
      72       20 XXX
      ID       XH NAME
-------- -------- ----------
      89       21 XXX
      13       22 XXX
      15       23 XXX
      49       24 XXX
      65       25 XXX
      49       26 XXX
       3       27 XXX
      87       28 XXX
      92       29 XXX
      95       30 XXX
30 rows selected
SQL> drop table test purge;
Table dropped

SQL> 
  • 打赏
  • 举报
回复
没有索引的情况下,好像是按写入的块的顺序读的
hsbraver 2019-02-19
  • 打赏
  • 举报
回复
引用 1 楼 卖水果的net 的回复:
这个还要看表的索引情况。
能否详述
hsbraver 2019-01-30
  • 打赏
  • 举报
回复
听说就只是按顺序读取?
卖水果的net 2019-01-29
  • 打赏
  • 举报
回复
这个还要看表的索引情况。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧