现在的位置: 首页 > 综合 > 正文

分区表和聚簇表的一点看法

2013年03月31日 ⁄ 综合 ⁄ 共 1233字 ⁄ 字号 评论关闭

在什么情况下使用聚簇表?是否对比过分区表和聚簇表的性能?

1、所谓聚簇就是指以某个列为基准,把拥有相同聚簇键值的所有行都存储在相同位置上的物理储储方法。把多个表中拥有相同聚簇值的行集中存储在连续位置上的做法,意味着把需要执行表连接的行提前集中存储在了一起,从而能够显著地降低表连接时的数据运输单价。


2、聚簇分为两种:
  (1)利用聚簇索引来查找数据的聚簇类型称为索引聚簇
  (2)利用hash函数来查找数据的聚簇类型称为hash聚簇也称为散列聚簇(注只适合“=”相等比较运算符来读取数据)
从表的个数也可分为:
(1)单表聚簇:在指定的聚簇中只创建一个表的聚簇结构

(2)复合表聚簇:在一个单位聚簇中存储两个或两个以上的表的聚簇结构


3、在什么情况下使用聚簇表?
  单表聚簇解决了海量数据库中大范围数据处理。
  复合聚簇在很大程度上提高了特定表连接的效率。
  聚簇在提高数据读取效率方面发挥着巨大的作用,但在数据的插入,修改,删除等操作要付出的代价相对较大。

使用聚簇对我们而言最为重要的是,如何只通过对将要聚簇化的各个表的特征合理结合,就可以实现提高数据读取效率的目的。。。


4、是否对比过分区表和聚簇表的性能?
这两种表的性能不能直接做对比吧,具体情况具体分析:
分区表的特点:
(1)可以单独对分区及分区索引进行操作
(2)提高查效率。分区裁剪功能
(3)分区更利于数据维护。可以单独分区进行备分,恢复等操作
(4)分区有利于数据库数据的过期化处理。
如果是OLTP,要设计一个日志表,对于日志表我们要做大量的插入,查询可以按时间范围,那适合用分区表

如果是OLAP,有几个表经常要连接一起查数据,而这些数据很少修改,那适合于聚簇表



**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name:    guoyJoe

QQ:        252803295

Email:    oracledba_cn@hotmail.com

Blog:      http://blog.csdn.net/guoyJoe

ITPUB:   http://www.itpub.net/space-uid-28460966.html

OCM:     http://education.oracle.com/education/otn/YGuo.HTM
 _____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!

答案在:http://blog.csdn.net/guoyjoe/article/details/8624392

Oracle@Paradise  总群:127149411

Oracle@Paradise No.1群:177089463(已满)

Oracle@Paradise No.2群:121341761

Oracle@Paradise No.3群:140856036

抱歉!评论已关闭.