因为我的领导说占用很大的存储空间!
我咋就不明白?我的oracle8I数据库系统管理(人民邮电出版社)
出版 的,书里面说视图(view)是一个逻辑结构,它从某个表,多个表或其他视(包括快照)中选择几个列的数据,而它本身没有数据。视图不会被分配任何存储空间,而只是在数据字典中保存字的字义(定义它的查询文本)难道还有其他定义吗?

解决方案 »

  1.   

    视图(view)不占用物理空间,只有逻辑定义
      

  2.   

    "因为我的领导说占用很大的存储空间!"
    ===================================
    领导不懂瞎说是肯定的啦“视图不会被分配任何存储空间”
    =============================
    倒也不是这么的视图首先是一句select语句
    例如
    create or replace view view_name as select * from my_table;这个建立的view_name仅仅是语句而已,其本身并不含有数据(记录)
    又称为虚表
    但是这个VIEW的语句本身还是要保存在数据字典里的,所以要占用那么一点点空间另外还有一种视图叫实体化视图,也称物化视图,快照
    那是含有数据的(记录)
    要占用存储空间,和表一样。。
      

  3.   

    关键是我没有说过用Materialized View啊,
    我说是查询数据(单表,多表)时,不用写一些数据表之间关系的SQL语句如:
      t1:f1,f2,f3,f4,f5表1
      t2:f1,D1,d2,d3,d4,d5 表2 
    我查询,但是我不想在程序中这样写  select t1.*,t2.* from t1,t2 where t1.f1=t2.f2  and 其他条件我认为
      可以建一个这样的视图  select t1.*,t2.* from t1,t2 where t1.f1=t2.f2
       select * from v1 where 你的条件
    这样不好吗?
    这样怎么会占用太多的存储空间呢?
      

  4.   

    是不用占用空间. 每次使用的时候,只是重新执行SQL.