蔟表与表分区技术的侧重点各有不同,前者侧重于改进关联表间查询的效率,而表分区侧重于大表的可管理性及局部查询的性能。而这两项对于我的系统来说都是极为重要。由于本人技术限制,目前尚不确定两者是否可以同时实现,有那位在这方面有经验的给点指导将不胜感激。

解决方案 »

  1.   

    你想怎么cluster?index?
    hash?
    heap?
      

  2.   

    使用簇来保存主要用来查询的表(而非插入和更新站主导),查询时通常要联合本簇内的多个表的数据,或者单个表中检索出相关数据。其主要目的是加快查询时的速度。而分区表是可以有大量的DML数据操作的,同时,在查询时可以根据分区表的类型不同指定不同的查询条件,如某个分区,以加快对数据的查询或增删改的速度。两者不可以同时使用!在实际应用中,更多时候应该分析自己的业务,看适合那种方式。例子:
    Oracle数据库自带的数据字典,使用簇的:
    select dc.cluster_name,dc.tablespace_name from dba_clusters dc; --簇select a.table_name,a.tablespace_name,a.cluster_name 
    from dba_tables a where a.cluster_name is not null ;而比较大型的系统,如Oracle ERP R12,其中比较大的表subleger存储的财务分录信息,则是分区表。其中的数据量增加比较快,但同时又需要对该表进行大量的查询。
      

  3.   

    是否需要使用簇表,簇索引,分区表,或使用哪种方式,根据业务情况综合考虑。一般象数据库的数据字典,建好后相当一段时间内,或者总的来说,查询要远远多于对其进行增删改操作。
    而象大型业务表,比如存储库存交易历史记录表,则可以考虑分区。可以使用的分区的方式在不同版本的数据库中有不同。ora10g对数据库的分区表的功能做了改进。
      

  4.   

    那就是说簇表和分区表不能同时使用?是语法上不允许还是说性能上不允许这么做。请告知下。谢谢了。本人遇到此问题。比较紧急。TKS