oracle簇cluster

1 簇概念:

是一组表,如果应用程序中的SQL 语句经常联结两个或多个表,可以把这些表以簇方式进行创建以改善性能。簇中的表存储在相同的数据块中,并且各个表中的相同的列值只存储一个。

簇(Cluster)就是将一组有机联系的表在物理上存放在一起并且相同的关键列的值只存储一份,用于提高处理效率的一项技术

2 限制:

l 簇中的每个表必须有一列与簇中指定的列的 大小和类型匹配;

l 簇码中可用列的最大数目是16,即一个簇最多有16列作为簇码;

l 列的最大长度为239字节;

l LONG LONG RAW 不能作为簇列码。

3 3 建立簇:

1) 创建簇语法

CREATE CLUSTER cluster

( column datatype[,colmn datatype])

[PCTUSED 40|intger] [ PCTFREE 10| intger]

[ SIZE intger ]

[INITRANS 1|intger] [MAXTRANS 255|intger]

[TABLESPACE tablespace]

[STORAGE storage]

2)创建簇及其表的步骤:

l CREATE CLUSTER创建簇

l CREATE INDEX创建簇索引

l CREATE TABLE 创建表,并指定簇

l 插入数据并进行DML 操作

4 改变簇:

在用户具有 ALTER ANY CLUSTER 的权限情况下,可以对已建好的簇(CLUSTER )改变其设置,如:

l 物理属性:PCTFREE,PCTUSED,INITRANS,MAXTRANSSTORAGE;

l CLUSTER 关键字值存储所有行所需的一般空间容量;

l 缺省平行度。

命令语法:

ALTER CLUSTER Cluster_name

{ PCTUSED integer

| PCTFREE integer

| SIZE integer

| INITRANS integer

| MAXTRANS integer

| STORAGE Cluase

}

5 删除簇:

只要用户具有 DROP ANY CLUSTER权限均可以对所有的CLUSTER进行删除。

语法如下:

DROP CLUSTER [user.]cluster [INCLUDING TABLES]

6 收集簇信息:

删除簇索引:一个簇的索引可以被删除而不影响表的数据,但是当簇的索引被删除后,属于该簇的表就变为不可用,所以当删除簇的索引后还须再建立该簇的索引才行。有时为了消除盘空间的碎片我们常进行删除簇索引操作。

l DBA_CLU_COLUMNS USER_CLU_COLUMNS

l DBA_CLUSTERSUSER_CLUSTER

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18921899/viewspace-1017048/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/18921899/viewspace-1017048/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值