| | | 加入资料库
上一主题 下一主题
---|---
| 作者 | | 主题 | | |
---|---|---|--- | | | X_X
长期郁闷中......
注册日期: 2002 Oct
来自: 福州
发帖数量: 458
| 怎样按物理顺序提取记录?
RT
select * from tabname和select /+first_rows/ from tabname都是吗?
谢谢
不是因为寂寞才想你,而是因为想你才寂寞。孤独的感觉之所以如此之重,只是因为想得太深!
---|---
04-08-13 18:24 | |
|
---|--- | | | 秦淮夜月
资深会员
注册日期: 2001 Sep
来自:
发帖数量: 571
|
什么是物理顺序?
是在block里面的排列顺序?还是记录产生的时间顺序?
战争带来财富,财富带来下一次战争
---|---
04-08-13 22:36 | |
|
---|--- | | | li2
高级会员
注册日期: 2002 Feb
来自:
发帖数量: 871
|
有点问题,如果是并行查询,查询合并时是不是也按物理次序?
君子终日乾乾,夕惕若,厉无咎
当我沉默着的时候,我觉得充实;我将开口,
同时感到空虚
---|---
04-08-14 10:16 | |
|
---|--- | | | X_X
长期郁闷中......
注册日期: 2002 Oct
来自: 福州
发帖数量: 458
|
> quote:
>
> * * *
>
> 最初由 秦淮夜月 发布
> **什么是物理顺序?
> 是在block里面的排列顺序?还是记录产生的时间顺序? **
>
> * * *
应该是记录产生的时间顺序
其实我想问的是,select * from tabname每次取的数据的顺序是不是一样的,是按什么顺序取的?
不是因为寂寞才想你,而是因为想你才寂寞。孤独的感觉之所以如此之重,只是因为想得太深!
---|---
04-08-14 10:53 | |
|
---|--- | | | 秦淮夜月
资深会员
注册日期: 2001 Sep
来自:
发帖数量: 571
|
> quote:
>
> * * *
>
> 最初由 X_X 发布
> **
> 应该是记录产生的时间顺序
> 其实我想问的是,select * from tabname每次取的数据的顺序是不是一样的,是按什么顺序取的? **
>
> * * *
我感觉select * from table是按block一直扫描下去的(没有用实验验证过,但从效率角度看应该如此),由于后面插入的记录可能会用到前面delete腾空的空间,所以这就不一定是按时间顺序去排列了
事实上关系型数据库都强调物理无关性,所有操作只保证逻辑层,如果你想按时间顺序提取行,最好还是加个列去记录行的生成时间
战争带来财富,财富带来下一次战争
---|---
04-08-14 13:21 | |
|
---|--- | | | 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 | |
|
---|--- | | | grassbell
深入讨论区斑竹
注册日期: 2003 Jun
来自: 北京,厦门
发帖数量: 1018
|
可以参考:
http://www.itpub.net/112239.html
http://www.itpub.net/247459.html
Donny's Email
不是自己的,多研究,多做实验,把心得写出来,变成自己的