在什么情况下使用聚簇表?是否对比过分区表和聚簇表的性能?
1、所谓聚簇就是指以某个列为基准,把拥有相同聚簇键值的所有行都存储在相同位置上的物理储储方法。把多个表中拥有相同聚簇值的行集中存储在连续位置上的做法,意味着把需要执行表连接的行提前集中存储在了一起,从而能够显著地降低表连接时的数据运输单价。
2、聚簇分为两种:
(1)利用聚簇索引来查找数据的聚簇类型称为索引聚簇
(2)利用hash函数来查找数据的聚簇类型称为hash聚簇也称为散列聚簇(注只适合“=”相等比较运算符来读取数据)
从表的个数也可分为:
(1)单表聚簇:在指定的聚簇中只创建一个表的聚簇结构
(2)复合表聚簇:在一个单位聚簇中存储两个或两个以上的表的聚簇结构
3、在什么情况下使用聚簇表?
单表聚簇解决了海量数据库中大范围数据处理。
复合聚簇在很大程度上提高了特定表连接的效率。
聚簇在提高数据读取效率方面发挥着巨大的作用,但在数据的插入,修改,删除等操作要付出的代价相对较大。
使用聚簇对我们而言最为重要的是,如何只通过对将要聚簇化的各个表的特征合理结合,就可以实现提高数据读取效率的目的。。。
4、是否对比过分区表和聚簇表的性能?
这两种表的性能不能直接做对比吧,具体情况具体分析:
分区表的特点:
(1)可以单独对分区及分区索引进行操作
(2)提高查效率。分区裁剪功能
(3)分区更利于数据维护。可以单独分区进行备分,恢复等操作
(4)分区有利于数据库数据的过期化处理。
如果是OLTP,要设计一个日志表,对于日志表我们要做大量的插入,查询可以按时间范围,那适合用分区表
如果是OLAP,有几个表经常要连接一起查数据,而这些数据很少修改,那适合于聚簇表
查看本栏目更多精彩内容:http://www.bianceng.cn/database/Oracle/
时间: 2024-12-28 19:35:25