码迷,mamicode.com
首页 > 数据库 > 详细

Oracle的簇和簇表

时间:2015-03-11 00:47:14      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

Oracle的簇和簇表

簇由一组共享相同数据块的多个表组成,它将这些表的相关行一起存储到相同数据块中,这样可以减少查询数据所需的磁盘读取量。创建簇后,用户可以在簇中创建表,这些表成为簇表。

例如,scott用户中有一个员工信息表emp、部门信息表dept,这两个表共享部门编号deptno列。当将emp和dept表组成簇后,在物理上Oracle将emp和dept表中有关每个部门的所有员工信息和部门信息行存储到相同的数据块中。因为簇将不同表的相关行一起存储到相同的数据块中,所以合理使用簇可以帮助减少查询数据所需的磁盘读取量。而对于经常单独使用的表不应该使用簇。

创建簇

创建簇的语法形式如下:

CREATE CLUSTER cluster_name(COLUMN date_type[,COLUMN date_type]...)
[PCTUSED 40 | INTEGER]
[PCTFREE 10 | INTEGER]
[SIZE INTEGER]
[INITRANS 1 | INTEGER]
[MAXTRANS 255 | INTEGER]
[TABLESPACE tablespace_name]
[STORAGE storage]

例1:
以SYSDBA角色登录并赋予用户相关权限:

GRANT  ALTER ANY CLUSTER TO siege;

然后创建簇:

CREATE CLUSTER cluster_student(sid NUMBER)
PCTUSED 40
PCTFREE 10
SIZE 1024
STORAGE (
        INITIAL 128k
        NEXT 128k
        MINEXTENTS 2
        MAXEXTENTS 20
)TABLESPACE learning;

Oracle的簇和簇表

标签:

原文地址:http://blog.csdn.net/u010999240/article/details/44185811

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!