ORACLE索引聚簇表数据加载(2)_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

ORACLE索引聚簇表数据加载(2)

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:    聚簇索引,所以我们先来建立聚簇索引。    聚簇索引的任务是拿到一个聚簇键值,然后返回包含这个键的块的块地址。实际上这是一个主键,其中每个聚簇键值指向 聚簇本身中的一个块。因此,...

    聚簇索引所以我们先来建立聚簇索引

    聚簇索引的任务是拿到一个聚簇键值然后返回包含这个键的块的块地址实际上这是一个主键,其中每个聚簇键值指向 聚簇本身中的一个块。因此,我们请求部门10的数据时,Oracle会读取聚簇键,确定相应的块地址,然后读取数据。聚簇键索引如下创建:

    SQL> create index emp_dept_cluster_idx

    2 on cluster emp_dept_cluster

    3 /

    索引已创建。

    现在可以创建表了:

    SQL> conn segment_study/liugao

    已连接。

    SQL> create table dept

    2  ( deptno number(2) primary key, 3    dname  varchar2(14),

    4 loc varchar2(13)

    5 )

    6 cluster emp_dept_cluster(deptno)

    7 /

    表已创建。

    SQL> create table emp

    2  ( empno    number primary key, 3    ename    varchar2(10), 4    job      varchar2(9), 5    mgr      number, 6    hiredate date, 7    sal      number, 8    comm     number,

    9 deptno number(2) constraint emp_fk references dept(deptno)

    10 )

    11 cluster emp_dept_cluster(deptno)

    12 /

    表已创建。

    我们可以通过一下SQL语句查看创建:

    SQL> select cluster_name, table_name

    2 from user_tables

    3 where cluster_name is not null

    4 order by 1;

    CLUSTER_NAME TABLE_NAME

  ------------------------------ -----------------------------

    EMP_DEPT_CLUSTER DEPT

    EMP_DEPT_CLUSTER EMP

    现在,聚簇,聚簇索引,聚簇索引表都已经建立完成
  
  
  三:加载数据。
    向聚簇索引表中加载数据是个很讲究的事情,处理方法不对,会使得聚簇的功能发挥不完全,降低查询性能。

    方法1:

    首先,我增加一个很大的列char(1000),加这个列是为了让EMP行远远大于现在的大小。使得一个1024的聚簇无法存储一行记录。不能加varchar2(1000),因为ORACLE对varchar2存储的原则是能省就省,如果数据数据不到1000,不会分配1000的空间的。char则是有多少用多少。呵呵。

    SQL> begin

    2      for x in ( select * from scott.dept )

    3 loop

    4 insert into dept

    5          values ( x.deptno, x.dname, x.loc );

    6 insert into emp

    7 select *

    8 &n

 

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12947-1.html
网站维护教程更新时间:2012-03-23 00:48:40  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer