Oracle 簇的使用详解
注意:
1)如果预料到聚簇中的表会大量修改,聚簇表会对DML的性能产生负面影响
复制代码 代码如下:
truncate cluster my_clu;cluster my_clu(deptno);
birth_date date ,
2、删除簇
散列聚簇表
[TABLESPACE tablespace]
cluster my_clu_two(empno);
storage (
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(
复制代码 代码如下:
例:)
);
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
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
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
OracleRAC的五大优势及其劣
时间:2021-01-05
-
Oracle优化器 自适应执行计
时间:2021-01-05
-
Oracle行内链接不会引起U
时间:2021-01-05
-
Window下Oracle Database 11g 发行
时间:2020-12-29
-
Oracle如何实现like多个值的
时间:2020-12-29
-
maven添加oracle依赖失败问题
时间:2020-12-29
-
OracleRAC基本概念及入门
时间:2020-12-29
-
Azure File Storage 基本用法
时间:2020-12-26
热门文章
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
Oracle存储过程编程详解
时间:2020-12-07
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
-
Oracle学习记录之使用自定义函数和触发器
时间:2020-12-07
