ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle专题深入讨论 » primary key 与IOT之间的关系

标题: primary key 与IOT之间的关系
离线 liubo1977
一般会员



精华贴数 0
个人空间 0
技术积分 331 (5896)
社区积分 0 (97376)
注册日期 2003-10-10
论坛徽章:0
      
      

发表于 2008-5-27 23:14 
primary key 与IOT之间的关系

在oracle中,有下面的语句:

CREATE TABLE iot_emp
   (        "EMPNO" NUMBER PRIMARY KEY,
        "ENAME" VARCHAR2(30),
        "HIREDATE" DATE,
        "JOB" VARCHAR2(30)
)
/
然后插入数据:
insert into iot_emp
     select object_id   empno,
       object_name ename,
       created     hiredate,
       owner       job
  from all_objects
其中empno为主键,这时oracle会拿出空间来存储主键列empno的值吗?
如果我这样建一个iot表:
CREATE TABLE iot_emp
   (        "EMPNO" NUMBER PRIMARY KEY,
        "ENAME" VARCHAR2(30),
        "HIREDATE" DATE,
        "JOB" VARCHAR2(30)
)
organization index
其中empno为主键,这时oracle会拿出空间来存储主键列empno的值吗?
谢谢。


只看该作者    顶部
离线 Yong Huang
版主



精华贴数 2
个人空间 0
技术积分 4166 (339)
社区积分 129 (2998)
注册日期 2001-10-9
论坛徽章:6
现任管理团队成员ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员2008年新春纪念徽章
      

发表于 2008-5-28 00:46 
What do you mean by "oracle会拿出空间来存储主键列empno的值吗"? The column values have to be stored somewhere. In the first case, you'll have a separate data structure, the unique index supporting the PK, in addition to the heap table. In the IOT case, you only have the table, an IOT table.

Yong Huang


只看该作者    顶部
离线 liubo1977
一般会员



精华贴数 0
个人空间 0
技术积分 331 (5896)
社区积分 0 (97376)
注册日期 2003-10-10
论坛徽章:0
      
      

发表于 2008-5-28 08:38 
“oracle会拿出空间来存储主键列empno的值吗”的意思是:
在存储表本身的数据外,主键列(如:empno)还会被单独存储吗?(也就是说会不会用B+树来组织empno列的数据)


只看该作者    顶部
离线 sqysl
孤独剑客



来自 山东
精华贴数 0
个人空间 0
技术积分 1254 (1379)
社区积分 31 (6182)
注册日期 2006-12-20
论坛徽章:0
      
      

发表于 2008-5-28 21:43 
yong huang已经说的很清楚了。


__________________
曾经沧海难为水,除却巫山不是云。
天若有情天亦老,人间正道是沧桑。
只看该作者    顶部
离线 liubo1977
一般会员



精华贴数 0
个人空间 0
技术积分 331 (5896)
社区积分 0 (97376)
注册日期 2003-10-10
论坛徽章:0
      
      

发表于 2008-5-29 08:35 
再问一个问题,IOT表的数据应按B+树来组织的吧,那oracle中的cluster table的数据是不是按B+树来组织的呢?


只看该作者    顶部
离线 qiaoruzhi78
一般会员



精华贴数 0
个人空间 720
技术积分 124 (13963)
社区积分 15 (8614)
注册日期 2002-10-28
论坛徽章:1
生肖徽章2007版:鸡     
      

发表于 2008-5-29 11:27 
cluster table, 应该没有B+树组织一说,因为它没有index概念。只是把多个table的数据重新整合到一起存放。
oracle可以在cluster上建立索引。


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问