oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

Oracle 簇的使用详解

来源:网络整理  作者:  发布时间:2020-12-13 22:42
本篇文章是对Oracle中簇的使用进行了详细的分析介绍,需要的朋友参考下...
pctfree 10
注意:


1)如果预料到聚簇中的表会大量修改,聚簇表会对DML的性能产生负面影响

复制代码 代码如下:

truncate cluster my_clu;
cluster my_clu(deptno);
birth_date date ,
2、删除簇
散列聚簇表
[TABLESPACE tablespace]


cluster my_clu_two(empno);
storage (


* 散列簇不能ALTER:size、hashkeys、hash is参数

create cluster my_clu_two(empno number(10) )
alter cluster my_clu
dname varchar2 ( 20 )
pctfree 10
SIZE:指定估计平均簇键,以及与其相关的行所需的字节数。
drop cluster my_clu including tables ; -- 删除簇和簇表
使用ALTER修改簇属性(必须拥有ALTER ANY CLUSTER的权限)
deptno number ,


复制代码 代码如下:

* 必须设置数值的精度
3、为簇创建索引
2、创建簇表
create table t1_emp(

复制代码 代码如下:

例:
)


2、创建散列表
);
ename varchar2 ( 20 ),
empno number ,
ename varchar2 ( 20 ),
簇其实就是一组表,由一组共享相同数据块的多个表组成,将经常一起使用的表组合在一起成簇可以提高处理效率;在一个簇中的表就叫做簇表。
2)非常不适合对单表的全表扫描,因为只能引起对其它表的全表扫描
创建簇的格式
注:
create cluster my_clu (deptno number )

复制代码 代码如下:

4)如果表只是偶尔被连接或者它们的公共列经常被修改,则不要聚簇表
deptno number )

pctused 70
[SIZE integer]


pctused 60
hash is empno

复制代码 代码如下:

注:簇表可以像普通表一样删除。
注:若不创建簇索引,则在插入数据时报错:ORA-02032: clustered tables cannot be used before the cluster index is built
tablespace users
注:所有在此簇上的表的数据全部被清空


管理簇
)
不宜用聚簇表的情况
birth_date date ,
建立顺序是:簇→簇表→簇索引→数据
hashkeys 150 ;
可以修改的簇属性包括:
next 128 k

复制代码 代码如下:

empno number ( 10 ),
1、修改簇属性
* STORAGE参数修改后仅影响以后分配给簇的盘区
size 1024
drop cluster my_clu; -- 仅适用于删除空簇
* 为了存储簇键值所有行所需空间的平均值SIZE
6)如果空间不够,并且不能为将要插入的新记录分配额外的空间,那么不要使用聚簇

minextents 2

复制代码 代码如下:

pctused 40
在簇表中,Oracle使用存储在索引中的键值来定位表中的行,而在散列聚簇表中,使用了散列函数代替了簇索引,先通过内部函数或者自定义的函数进行散列计算,然后再将计算得到的码值用于定位表中的行。创建散列簇需要用到HASHKEYS子句。
(column date_type [,column datatype]...)


1、创建散列簇
maxextents 20
* 散列簇不能也不用创建索引


* 默认并行度

CREATE CLUSTER cluster_name
[STORAGE storage]
* 不能修改INITIAL和MINEXTENTS的值
* PCTFREE、PCTUSED、INITRANS、MAXTRANS、STORAGE

cluster my_clu(deptno);
drop cluster my_clu including tables cascade constraints ;--同时删除外键约束
3)频繁对表进行TRUNCATE和加载,因为聚簇中的表是不能TRUNCATE的,只能TRUNCATE簇
create table t2_emp (
* INITRANS、MAXTRANS仅适用于以后分配的数据块
* hash is 子句指明了进行散列的列,如果列是唯一的标示行,就可以将列指定为散列值
* PCTFREE、PCTUSED、SIZE参数修改后适用于所有数据块

1、创建簇
create table t1_dept(

5)如果经常从所有有相同聚簇键值的表查询出的结果数据超过一个或两个Oracle块,则不要聚簇表
initial 128 k
* hashkeys 指定和限制散列函数可以产生的唯一的散列值的数量

[PCTUSED 40 | integer] [PCTFREE 10 | integer]
[INITRANS 1 | integer] [MAXTRANS 255 | integer]
tablespace users
说明:
deptno number
3、清空簇
create index clu_index on cluster my_clu;

复制代码 代码如下:

相关热词: 详解 oracle

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/oracle/3528.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Oracle 簇的使用详解

2020-12-13 编辑:

pctfree 10
注意:


1)如果预料到聚簇中的表会大量修改,聚簇表会对DML的性能产生负面影响

复制代码 代码如下:

truncate cluster my_clu;
cluster my_clu(deptno);
birth_date date ,
2、删除簇
散列聚簇表
[TABLESPACE tablespace]


cluster my_clu_two(empno);
storage (


* 散列簇不能ALTER:size、hashkeys、hash is参数

create cluster my_clu_two(empno number(10) )
alter cluster my_clu
dname varchar2 ( 20 )
pctfree 10
SIZE:指定估计平均簇键,以及与其相关的行所需的字节数。
drop cluster my_clu including tables ; -- 删除簇和簇表
使用ALTER修改簇属性(必须拥有ALTER ANY CLUSTER的权限)
deptno number ,


复制代码 代码如下:

* 必须设置数值的精度
3、为簇创建索引
2、创建簇表
create table t1_emp(

复制代码 代码如下:

例:
)


2、创建散列表
);
ename varchar2 ( 20 ),
empno number ,
ename varchar2 ( 20 ),
簇其实就是一组表,由一组共享相同数据块的多个表组成,将经常一起使用的表组合在一起成簇可以提高处理效率;在一个簇中的表就叫做簇表。
2)非常不适合对单表的全表扫描,因为只能引起对其它表的全表扫描
创建簇的格式
注:
create cluster my_clu (deptno number )

复制代码 代码如下:

4)如果表只是偶尔被连接或者它们的公共列经常被修改,则不要聚簇表
deptno number )

pctused 70
[SIZE integer]


pctused 60
hash is empno

复制代码 代码如下:

注:簇表可以像普通表一样删除。
注:若不创建簇索引,则在插入数据时报错:ORA-02032: clustered tables cannot be used before the cluster index is built
tablespace users
注:所有在此簇上的表的数据全部被清空


管理簇
)
不宜用聚簇表的情况
birth_date date ,
建立顺序是:簇→簇表→簇索引→数据
hashkeys 150 ;
可以修改的簇属性包括:
next 128 k

复制代码 代码如下:

empno number ( 10 ),
1、修改簇属性
* STORAGE参数修改后仅影响以后分配给簇的盘区
size 1024
drop cluster my_clu; -- 仅适用于删除空簇
* 为了存储簇键值所有行所需空间的平均值SIZE
6)如果空间不够,并且不能为将要插入的新记录分配额外的空间,那么不要使用聚簇

minextents 2

复制代码 代码如下:

pctused 40
在簇表中,Oracle使用存储在索引中的键值来定位表中的行,而在散列聚簇表中,使用了散列函数代替了簇索引,先通过内部函数或者自定义的函数进行散列计算,然后再将计算得到的码值用于定位表中的行。创建散列簇需要用到HASHKEYS子句。
(column date_type [,column datatype]...)


1、创建散列簇
maxextents 20
* 散列簇不能也不用创建索引


* 默认并行度

CREATE CLUSTER cluster_name
[STORAGE storage]
* 不能修改INITIAL和MINEXTENTS的值
* PCTFREE、PCTUSED、INITRANS、MAXTRANS、STORAGE

cluster my_clu(deptno);
drop cluster my_clu including tables cascade constraints ;--同时删除外键约束
3)频繁对表进行TRUNCATE和加载,因为聚簇中的表是不能TRUNCATE的,只能TRUNCATE簇
create table t2_emp (
* INITRANS、MAXTRANS仅适用于以后分配的数据块
* hash is 子句指明了进行散列的列,如果列是唯一的标示行,就可以将列指定为散列值
* PCTFREE、PCTUSED、SIZE参数修改后适用于所有数据块

1、创建簇
create table t1_dept(

5)如果经常从所有有相同聚簇键值的表查询出的结果数据超过一个或两个Oracle块,则不要聚簇表
initial 128 k
* hashkeys 指定和限制散列函数可以产生的唯一的散列值的数量

[PCTUSED 40 | integer] [PCTFREE 10 | integer]
[INITRANS 1 | integer] [MAXTRANS 255 | integer]
tablespace users
说明:
deptno number
3、清空簇
create index clu_index on cluster my_clu;

复制代码 代码如下:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/oracle/3528.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页