问个oracle默认查询排序问题

wanglidnb 2012-06-29 04:11:44
新建一张表,并顺序插入数据,然后查询,查询出来的数据是有序的吗?
我测过新建一张100万条数据的表,是有序的。
...全文
657 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生无悔 2012-06-29
  • 打赏
  • 举报
回复
若有主键或索引时就会自动按对应的索引列顺序排列了,若没有则是按你插入的先后顺序排列的,有序无序还不是相对而言的
小德 2012-06-29
  • 打赏
  • 举报
回复
印象中oracle是无序存储的,所以不用order by的查询也应该是无序的。
数据存储在块中,视存储状况不同,查询结果应当不同。
有时候看起来像按rowid排序,但是随着数据被更改,删除,rowid也会变更成其他数据。没有order by的查询应当是杂乱无章的。
CREATE TABLE test(id NUMBER(5),sname VARCHAR2(30));

INSERT INTO test VALUES (1,'test1');
INSERT INTO test VALUES (2,'test2');
INSERT INTO test VALUES (3,'test3');
INSERT INTO test VALUES (4,'test4');
INSERT INTO test VALUES (5,'test5');

SELECT * FROM test;
ID SNAME
1 test1
2 test2
3 test3
4 test4
5 test5

UPDATE test SET sname='test6' WHERE id=3;
SELECT * FROM test;
ID SNAME
1 test1
2 test2
3 test6
4 test4
5 test5

DELETE FROM test WHERE sname='test6';
SELECT * FROM test;
ID SNAME
1 test1
2 test2
4 test4
5 test5

INSERT INTO test VALUES (3,'test3');
SELECT * FROM test;
ID SNAME
1 test1
2 test2
4 test4
5 test5
3 test3


3,490

社区成员

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

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