簇和簇表
 
    簇其实就是一组表,是一组共享相同数据块的多个表组成。 将经常一起使用的表组合在一起成簇可以提高处理效率。
 
    在一个簇中的表就叫做簇表。建立顺序是:簇→簇表→数据→簇索引
 
    1、创建簇的 格式
 
    CREATE CLUSTER cluster_name
    (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表介绍--簇表的更多相关文章

  1. PLSQL_Oracle簇表和簇表管理Index clustered tables(案例)

    2012-06-08 Created By BaoXinjian

  2. oracle 索引聚簇表的工作原理

    作者:Richard-Lui 一:首先介绍一下索引聚簇表的工作原理:(先创建簇,再在簇里创建索引,创建表时指定列的簇类型) 聚簇是指:如果一组表有一些共同的列,则将这样一组表存储在相同的数据库块中:聚 ...

  3. Oracle创建聚簇表

    创建聚簇表过程: 创建簇(cluster)----创建簇表(基本类似创建一般表但有区别)----创建簇索引(index)----数据管理 创建簇: create cluster stu_ach(sid ...

  4. Oracle索引梳理系列(五)- Oracle索引种类之表簇索引(cluster index)

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  5. oracle的散列聚簇表

    在簇表中,Oracle使用存储在索引中的键值来定位表中的行, 而在散列聚簇表中,使用了散列函数代替了簇索引,先通过内部函数或者自定义的函数进行散列计算,然后再将计算得到的码值用于定位表中的行. 创建散 ...

  6. oracle聚簇表的理解 (转自:https://blog.csdn.net/gumengkai/article/details/51009345 )

    Oracle支持两种类型的聚簇:索引聚簇和哈希聚簇 一.索引聚簇表的原理 聚簇:如果一些表有一些共同的列,则将这样一组表存储在相同的数据块中 聚簇还表示把相关的数据存储在同一个块上.利用聚簇,一个块可 ...

  7. [转帖]总结ORACLE系统视图及表大全

    总结ORACLE系统视图及表大全:dba_开头.....dba_users 数据库用户信息dba_segments 表段信息dba_extents 数据区信息dba_objects 数据库对象信息db ...

  8. oracle在线重定义表

    在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统.Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就 ...

  9. 聚簇(Cluster)和聚簇表(Cluster Table)

    聚簇(Cluster)和聚簇表(Cluster Table) 时间:2010-03-13 23:12来源:OralanDBA.CN 作者:AlanSawyer 点击:157次 1.创建聚簇 icmad ...

随机推荐

  1. Round #169 (Div. 2)D. Little Girl and Maximum XOR

    1.首先是要找到一个位置从左至右,作l这一个是0,r这一个是1. 2.实例01011,10100.你将能够找到01111和10000. #include<cstdio> #include& ...

  2. 汉高澳大利亚sinox2014电影播放flash最好的办法是安装游戏windows文本firefox

    事实上,韩澳sinox本身是没有原生flashplayer,无论怎么捣鼓,它们是从adobe弄linux要么windows版本号flashplayer,它不停地拨弄linux版本号flashplaye ...

  3. 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序。

    原文 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序. win7 64位操作系统上边运行IIS网站应用的时候,提示错误"试图加载格式 ...

  4. zzu--2014年11月16日月潭赛 C称号

    1230: Magnets Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 24  Solved: 13 [id=1230" style=&q ...

  5. 【Linux】CentOS系统

    版本号:CentOS release 5.7 1)查看系统版本号 cat  /etc/readhat-release 2)安装软件 wget  资源链接 make make install 在线安装: ...

  6. 纯js客服插件集qq、旺旺、skype、百度hi、msn

    原文 纯js客服插件集qq.旺旺.skype.百度hi.msn 客服插件,集qq.旺旺.skype.百度hi.msn 等 即时通讯工具,并可自己添加支持的通讯工具,极简主义,用法自己琢磨.我的博客 h ...

  7. thinkphp学习笔记4—眼花缭乱的配置

    原文:thinkphp学习笔记4-眼花缭乱的配置 1.配置类别 ThinkPHP提供了灵活的全局配置功能,ThinkPHP会依次加载管理配置>项目配置>调试配置>分组配置>扩展 ...

  8. 使用linux服务logrotate文件tomcat日志文件

    使用notepad++编辑本地文件 tomcat: /usr/tomcat/logs/catalina.out { copytruncate daily dateext nocompress miss ...

  9. I/O概述和审查操作

    I/O流量可表示非常多不同种类的输入源和输出目的地.它包含一个简单的字节流,基本数据(int.boolean.double等待),本地化字符,和对象.仅是简单地传递数据,另一些流能够操作和转换数据 不 ...

  10. Swift # Apple Pay集成

    苹果正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这 ...