oracle怎样按物理顺序提取记录?(fromitpub)

发表于:2007-05-25来源:作者:点击数: 标签:
加入资料库 上一主题 下一主题 作者 主题 X_X 长期郁闷中...... 注册日期: 2002 Oct 来自: 福州 发帖数量: 458 怎样按物理顺序提取记录? RT select * from tabname和select /*+first_rows*/ from tabname都是吗? 谢谢 __________________ 不是因为寂寞才想
  加入资料库   上一主题   下一主题
作者
主题    发布新主题    回复主题
X_X
长期郁闷中......

注册日期: 2002 Oct
来自: 福州
发帖数量: 458

怎样按物理顺序提取记录?

RT
select * from tabname和select /*+first_rows*/ from tabname都是吗?
谢谢


__________________
不是因为寂寞才想你,而是因为想你才寂寞。孤独的感觉之所以如此之重,只是因为想得太深!

向版主反映这个帖子查看X_X 的IP地址

X_X 不在线 旧帖 04-08-13 18:24
点这里查看 X_X 的个人资料 点这里给 X_X发送一条悄悄话 点这里给 X_X发送Email 查找 X_X 的更多帖子 将 X_X 添加到你的好友列表 编辑/删除 引用/回复
秦淮夜月
资深会员

注册日期: 2001 Sep
来自:
发帖数量: 571

什么是物理顺序?
是在block里面的排列顺序?还是记录产生的时间顺序?


__________________
战争带来财富,财富带来下一次战争

向版主反映这个帖子查看秦淮夜月 的IP地址

秦淮夜月 不在线 旧帖 04-08-13 22:36
点这里查看 秦淮夜月 的个人资料 点这里给 秦淮夜月发送一条悄悄话 点这里给 秦淮夜月发送Email 查找 秦淮夜月 的更多帖子 将 秦淮夜月 添加到你的好友列表 编辑/删除 引用/回复
li2
高级会员

注册日期: 2002 Feb
来自:
发帖数量: 871

有点问题,如果是并行查询,查询合并时是不是也按物理次序?


__________________
君子终日乾乾,夕惕若,厉无咎

当我沉默着的时候,我觉得充实;我将开口,
同时感到空虚

向版主反映这个帖子查看li2 的IP地址

li2 不在线 旧帖 04-08-14 10:16
点这里查看 li2 的个人资料 点这里给 li2发送一条悄悄话 点这里给 li2发送Email 查找 li2 的更多帖子 将 li2 添加到你的好友列表 编辑/删除 引用/回复
X_X
长期郁闷中......

注册日期: 2002 Oct
来自: 福州
发帖数量: 458

quote:
最初由 秦淮夜月 发布
什么是物理顺序?
是在block里面的排列顺序?还是记录产生的时间顺序?


应该是记录产生的时间顺序
其实我想问的是,select * from tabname每次取的数据的顺序是不是一样的,是按什么顺序取的?


__________________
不是因为寂寞才想你,而是因为想你才寂寞。孤独的感觉之所以如此之重,只是因为想得太深!

向版主反映这个帖子查看X_X 的IP地址

X_X 不在线 旧帖 04-08-14 10:53
点这里查看 X_X 的个人资料 点这里给 X_X发送一条悄悄话 点这里给 X_X发送Email 查找 X_X 的更多帖子 将 X_X 添加到你的好友列表 编辑/删除 引用/回复
秦淮夜月
资深会员

注册日期: 2001 Sep
来自:
发帖数量: 571

quote:
最初由 X_X 发布

应该是记录产生的时间顺序
其实我想问的是,select * from tabname每次取的数据的顺序是不是一样的,是按什么顺序取的?





我感觉select * from table是按block一直扫描下去的(没有用实验验证过,但从效率角度看应该如此),由于后面插入的记录可能会用到前面delete腾空的空间,所以这就不一定是按时间顺序去排列了
事实上关系型数据库都强调物理无关性,所有操作只保证逻辑层,如果你想按时间顺序提取行,最好还是加个列去记录行的生成时间


__________________
战争带来财富,财富带来下一次战争

向版主反映这个帖子查看秦淮夜月 的IP地址

秦淮夜月 不在线 旧帖 04-08-14 13:21
点这里查看 秦淮夜月 的个人资料 点这里给 秦淮夜月发送一条悄悄话 点这里给 秦淮夜月发送Email 查找 秦淮夜月 的更多帖子 将 秦淮夜月 添加到你的好友列表 编辑/删除 引用/回复
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

不是自己的,多研究,多做实验,把心得写出来,变成自己的

向版主反映这个帖子查看grassbell 的IP地址

grassbell 不在线 旧帖 04-08-14 16:03
点这里查看 grassbell 的个人资料 点这里给 grassbell发送一条悄悄话 点这里给 grassbell发送Email 查找 grassbell 的更多帖子 将 grassbell 添加到你的好友列表   grassbell 的OI<STRONG><A href=CQ号码:1739075" src="file:///D:/CODE_3S/重要文档/数据库/oracle_kw/sql开发/select/怎样按物理顺序提取记录?%20-%20ITPUB论坛.files/oicq.gif" border=0>    编辑/删除 引用/回复
grassbell
深入讨论区斑竹

注册日期: 2003 Jun
来自: 北京,厦门
发帖数量: 1018

可以参考:

http://www.itpub.net/112239.html

http://www.itpub.net/247459.html


__________________
Donny's Email

不是自己的,多研究,多做实验,把心得写出来,变成自己的

向版主反映这个帖子查看grassbell 的IP地址

grassbell 不在线 旧帖 04-08-14 16:05
点这里查看 grassbell 的个人资料 点这里给 grassbell发送一条悄悄话 点这里给 grassbell发送Email 查找 grassbell 的更多帖子 将 grassbell 添加到你的好友列表   grassbell 的OICQ号码:1739075    编辑/删除 引用/回复
所有时间均为 . 现在时间是 02:21.    发布新主题    回复主题
加入资料库   上一主题   下一主题

原文转自:http://www.ltesting.net