Create or replace type home_type as object(addr varchar2(1000),tel varchar2(20)); --定义地址对象 
Create table homes of home_type; --定义家庭地址表 
INSERT INTO homes values('AAAAA','11111111'); --插入家庭地址数据 
INSERT INTO homes values('BBBBB','22222222'); --插入家庭地址数据 Create table person(id number, name varchar2(10), addr ref home_type); --定义人员表 Insert into person Select 1,'maming',ref(p) from homes p where p. tel = '11111111' 
这样查询和普通的两个表联合查询哪位更好一些。

解决方案 »

  1.   

    查询速度应该是差不多的吧
    REF OBJ_TYPE使用的目的是为了避免存储数据冗余,降低数据量
    和查询没什么关系
      

  2.   


    性能方面的话,应该咩有差异,我想对于Oracle的底层实现上普通表和对象表最后都应该回归到相同的策略上,仅是自己猜测而已,我也很少看到客户用这样的方式的。所以没有深入的研究过。他们的不同主要在使用的方式上,对象表是一种把表看作一个实体,从而进行相关的查询和dml操作的表体。而且对象表类似于我们程序里的oo的概念,有可以继承和多态。提供我们另一种特殊的表设计的方式。
      

  3.   

    查询速度是由查询策略决定的,
    这个要看最终的执行计划,
    我感觉它们之间应该是差不多.
    REF OBJ_TYPE只是更类似面向对象.