oracle怎样按物理顺序提取记录?(from itpub)[4]
[入库:2005年8月18日] [更新:2007年3月24日]
 |
grassbell 深入讨论区斑竹
注册日期: 2003 jun 来自: 北京,厦门 发帖数量: 1018
|
quote:
最初由 秦淮夜月 发布
我感觉select * from table是按block一直扫描下去的(没有用实验验证过,但从效率角度看应该如此),由于后面插入的记录可能会用到前面delete腾空的空间,所以这就不一定是按时间顺序去排列了 事实上关系型数据库都强调物理无关性,所有操作只保证逻辑层,如果你想按时间顺序提取行,最好还是加个列去记录行的生成时间
select * from table 返回值的顺序:
同一个block 中的rows 是按照 row 在block header 的row dictionary的排列顺序读出来的。delete 后再 insert ,后来的row 可能会使用deleted row在row dictionary的位置。
但是block之间的顺序,我推测是按照blocks在segment中的排列顺序。
__________________ donny's email
不是自己的,多研究,多做实验,把心得写出来,变成自己的
 
|
04-08-14 16:03 |
| | |
 |
本文关键:oracle怎样按物理顺序提取记录?(from itpub)
本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)