表中数据的排列顺序问题

xing020010 2013-04-08 09:56:30
Oracle中表里边的数据默认是按照聚集索引的顺序排列的吗?假定表中有主键和聚集索引。
...全文
323 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xing020010 2013-04-08
  • 打赏
  • 举报
回复
明白了,多谢
attach_finance 2013-04-08
  • 打赏
  • 举报
回复
除了索引表,Oracle存储数据不讲究先后顺序,基本按照插入顺序存储。聚族表则把相同聚族值的行存放在相同或相邻的数据块中。
xing020010 2013-04-08
  • 打赏
  • 举报
回复
感谢楼上的回复,不过我是想问数据在库里边存储的物理顺序。
软件钢琴师 2013-04-08
  • 打赏
  • 举报
回复
数据库select的默认排序 oracle对无order by的语句返回的结果不进行排序,oracle此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid排序的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无order by查询结果看起来也可能是个杂乱无章的。 要想有序,一定要加上 order by ,不要指望默认排序

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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