Oracle表介绍--簇表
(column date_type [,column datatype]...)
[PCTUSED 40 | integer] [PCTFREE 10 | integer]
[SIZE integer]
[INITRANS 1 | integer] [MAXTRANS 255 | integer]
[TABLESPACE tablespace]
[STORAGE storage]
SIZE:指定估计平均簇键,以及与其相关的行所需的字节数。
2、创建簇
create
cluster
my_clu (deptno
number
)
pctused
60
pctfree
10
size
1024
tablespace
users
storage
(
initial
128
k
next
128
k
minextents
2
maxextents
20
);
3、创建簇表
create
table
t1_dept(
deptno
number
,
dname
varchar2
(
20
)
)
cluster
my_clu(deptno);
create
table
t1_emp(
empno
number
,
ename
varchar2
(
20
),
birth_date
date
,
deptno
number
)
cluster
my_clu(deptno);
4、为簇创建索引
create
index
clu_index
on
cluster
my_clu;
注:若不创建索引,则在插入数据时报错:ORA-02032: clustered tables cannot be used before the cluster index is built
管理簇
使用ALTER修改簇属性(必须拥有ALTER ANY CLUSTER的权限)
1、修改簇属性
可以修改的簇属性包括:
* PCTFREE、PCTUSED、INITRANS、MAXTRANS、STORAGE
* 为了存储簇键值所有行所需空间的平均值SIZE
* 默认并行度
注:
* 不能修改INITIAL和MINEXTENTS的值
* PCTFREE、PCTUSED、SIZE参数修改后适用于所有数据块
* INITRANS、MAXTRANS仅适用于以后分配的数据块
* STORAGE参数修改后仅影响以后分配给簇的盘区
格式:
alter
cluster
my_clu
pctused
40
2、删除簇
drop
cluster
my_clu;
--
仅适用于删除空簇
drop
cluster
my_clu
including
tables
;
--
删除簇和簇表
drop
cluster
my_clu
including
tables
cascade
constraints
;
--
同时删除外键约束
注:簇表可以像普通表一样删除。
散列聚簇表
在簇表中,Oracle使用存储在索引中的键值来定位表中的行,而在散列聚簇表中,使用了散列函数代替了簇索引,先通过内部函数或者自定义的函数进行散列计算,然后再将计算得到的码值用于定位表中的行。创建散列簇需要用到HASHKEYS子句。
1、创建散列簇
create
cluster
my_clu_two(empno
number(10)
)
pctused
70
pctfree
10
tablespace
users
hash
is
empno
hashkeys
150
;
说明:
* hash is 子句指明了进行散列的列,如果列是唯一的标示行,就可以将列指定为散列值
* hashkeys 指定和限制散列函数可以产生的唯一的散列值的数量
2、创建散列表
create
table
t2_emp (
empno
number
(
10
),
ename
varchar2
(
20
),
birth_date
date
,
deptno
number
)
cluster
my_clu_two(empno);
注意:
* 必须设置数值的精度(具体原因不详)
* 散列簇不能也不用创建索引
* 散列簇不能ALTER:size、hashkeys、hash is参数
Oracle表介绍--簇表的更多相关文章
- PLSQL_Oracle簇表和簇表管理Index clustered tables(案例)
2012-06-08 Created By BaoXinjian
- oracle 索引聚簇表的工作原理
作者:Richard-Lui 一:首先介绍一下索引聚簇表的工作原理:(先创建簇,再在簇里创建索引,创建表时指定列的簇类型) 聚簇是指:如果一组表有一些共同的列,则将这样一组表存储在相同的数据库块中:聚 ...
- Oracle创建聚簇表
创建聚簇表过程: 创建簇(cluster)----创建簇表(基本类似创建一般表但有区别)----创建簇索引(index)----数据管理 创建簇: create cluster stu_ach(sid ...
- Oracle索引梳理系列(五)- Oracle索引种类之表簇索引(cluster index)
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- oracle的散列聚簇表
在簇表中,Oracle使用存储在索引中的键值来定位表中的行, 而在散列聚簇表中,使用了散列函数代替了簇索引,先通过内部函数或者自定义的函数进行散列计算,然后再将计算得到的码值用于定位表中的行. 创建散 ...
- oracle聚簇表的理解 (转自:https://blog.csdn.net/gumengkai/article/details/51009345 )
Oracle支持两种类型的聚簇:索引聚簇和哈希聚簇 一.索引聚簇表的原理 聚簇:如果一些表有一些共同的列,则将这样一组表存储在相同的数据块中 聚簇还表示把相关的数据存储在同一个块上.利用聚簇,一个块可 ...
- [转帖]总结ORACLE系统视图及表大全
总结ORACLE系统视图及表大全:dba_开头.....dba_users 数据库用户信息dba_segments 表段信息dba_extents 数据区信息dba_objects 数据库对象信息db ...
- oracle在线重定义表
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统.Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就 ...
- 聚簇(Cluster)和聚簇表(Cluster Table)
聚簇(Cluster)和聚簇表(Cluster Table) 时间:2010-03-13 23:12来源:OralanDBA.CN 作者:AlanSawyer 点击:157次 1.创建聚簇 icmad ...
随机推荐
- 使用HttpURLConnection向服务器发送post和get请求(转)
一.使用HttpURLConnection向服务器发送get请求 1.向服务器发送get请求 @Test publicvoid sendSms() throws Exception{ String m ...
- ABP应用层——权限验证
ABP应用层——权限验证 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerpla ...
- 解决Gradle minifyEnabled无法找到错误
Android studio最新版0.9支持proguard minify,shrinkResources ,尝试了下,提示找不到minifyEnabled方法 Error:(29, 0) Gradl ...
- iptables的CLUSTER target以太网交换机和想法
周末热风,这个想法从未在我的心脏像样的雨一阵悲哀. 每到周末,我会抽出一周整夜的事情的总结,无论是工作.人生,或者在上班或在锯的方式方法,并听取了抑制书评,因为无雨,周六晚上,我决定好好睡一觉,再折腾 ...
- Light OJ 1341 Aladdin and the Flying Carpet Pollard_rho整数分解+DFS
进入a b 多少努力p, q 使p*q == a && p < q && p >= b 直接大整数分解 然后dfs所有可能的解决方案劫持 #include ...
- 包装类、Object类——Java笔记(八)
包装类: 基本数据类型的包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float ...
- blog_导航
blog导航 在左下侧:随笔分类 简要做个导航图放到这儿方便大家查阅 直奔爬虫: 点击-> 直奔oracle:点击->
- opencv2对于读书笔记——二值化——thresholded功能
opencv二进制图象值功能threshold功能 其结构 double cv::threshold( //二值化函数 const CvArr* src, //原始图像 CvArr* dst, //输 ...
- STL慎重选择删除元素的
一.要删除容器中有特定值的全部对象 1.假设容器是vector.string或deque.则使用erase-remove习惯使用方法.比如: vector<int> c; c.era ...
- .net mvc ajax list post
http://stackoverflow.com/questions/13242414/passing-a-list-of-objects-into-an-mvc-controller-method- ...