rownum和rowid含义.docxVIP

  • 6
  • 0
  • 约9.19千字
  • 约 12页
  • 2017-04-23 发布于北京
  • 举报
rownum和rowid含义

首先来说一下rownum与rowid含义: ????顾名思义rownum就是行数/行号,而rowid就是编码/编号/唯一识别号,所以他是类似“AAAR8gAAEAAAAErAAK”的编号,注意他是没有先后顺序的,也就是说他和数据入库时间没有任何关系,打个比方:他就像磁盘、内存存储数据用的是16进制的地址一样。 他们都是伪列,可以理解成表中的一个列只是他们并不是你创建的。同样是伪列区别是什么呢? ? rowid是你录入数据时有数据库自动为这条记录添加的唯一的18位编号是一个物理编号用于找到这条记录(顺便说一句这也是为什么数据优调的时候强调尽量使用rowid的原因),他是不会随着查询而改变的 除非在表发生移动(比如表空间变化,数据导入/导出以后),才会发生变化。 ? rownum是 根据sql查询后得到的结果自动加上去的,但是他却不受到sql中order by排序的影响,因为他和rowid的顺序一样是系??按照记录插入时的顺序给记录排的号(顺序的、无跳跃)。?但是如果你想让rownum和order by一样的顺序 那么可以使用子查询,形如:select rownum,t.* from (select * from 表空间名 order by 字段名) t? 这样的话rownum就是根据该字段进行排序的编号了,为什么会这样呢,本人理解:rownum是根据表记录输出的行号,与筛选语句、排

文档评论(0)

1亿VIP精品文档

相关文档