Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304411
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站网址导航为大家提供关于数据库教程相关的教程网站知识。

Oracle索引(B*tree与Bitmap)的学习总结kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

簇其实就是一组表,由一组共享相同数据块的多个表组成,将经常一起使用的表组合在一起成簇可以提高处理效率;在一个簇中的表就叫做簇表。
建立顺序是:簇→簇表→簇索引→数据
创建簇的格式
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:指定估计平均簇键,以及与其相关的行所需的字节数。
1、创建簇

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


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
);
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


2、创建簇表

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


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);
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


3、为簇创建索引

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


create index clu_index on cluster my_clu;
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!



管理簇
使用ALTER修改簇属性(必须拥有ALTER ANY CLUSTER的权限)
1、修改簇属性
可以修改的簇属性包括:
* PCTFREE、PCTUSED、INITRANS、MAXTRANS、STORAGE
* 为了存储簇键值所有行所需空间的平均值SIZE
* 默认并行度

* 不能修改INITIAL和MINEXTENTS的值
* PCTFREE、PCTUSED、SIZE参数修改后适用于所有数据块
* INITRANS、MAXTRANS仅适用于以后分配的数据块
* STORAGE参数修改后仅影响以后分配给簇的盘区
例:

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


alter cluster my_clu
pctused 40
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


2、删除簇

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


drop cluster my_clu; -- 仅适用于删除空簇
drop cluster my_clu including tables ; -- 删除簇和簇表
drop cluster my_clu including tables cascade constraints ;--同时删除外键约束
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!



3、清空簇

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


truncate cluster my_clu;
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!



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

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


create cluster my_clu_two(empno number(10) )
pctused 70
pctfree 10
tablespace users
hash is empno
hashkeys 150 ;
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


说明:
* hash is 子句指明了进行散列的列,假如如果列是唯一的标示行,就可以将列指定为散列值
* hashkeys 指定和限制散列函数可以产生的唯一的散列值的数量
2、创建散列表

复制具体相关代码 具体相关代码如下:kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


create table t2_emp (
empno number ( 10 ),
ename varchar2 ( 20 ),
birth_date date ,
deptno number )
cluster my_clu_two(empno);
kIQAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


注意:
* 必须设置数值的精度
* 散列簇不能也不用创建索引
* 散列簇不能ALTER:size、hashkeys、hash is参数
不宜用聚簇表的情况
1)假如如果预料到聚簇中的表会大量修改,聚簇表会对DML的性能产生负面影响
2)非常不适合对单表的全表扫描,因为只能引起对其它表的全表扫描
3)频繁对表进行TRUNCATE和加载,因为聚簇中的表是不能TRUNCATE的,只能TRUNCATE簇
4)假如如果表只是偶尔被连接或者它们的公共列经常被修改,则不要聚簇表
5)假如如果经常从所有有相同聚簇键值的表查询出的结果数据超过一个或两个Oracle块,则不要聚簇表
6)假如如果空间不够,并且不能为将要插入的新记录分配额外的空间,那么不要使用聚簇
关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。

标签:

分享到:

  网友投稿

注册时间:

网站:0 个   APP:0 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304411

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市