特殊表

原创 2012年03月23日 02:38:18

一、临时表

  1、特点:

    不能备份临时表

    oracle不会分析临时表

    可以在临时表上创建索引

    可以在临时表上创建约束

    创建临时表之后不会立即分配段,而是在第一次写数据之后分配

    临时表对所有用户共享,但每个用户只能看到自己事务或者会话的数据

    可以对临时表进行insert、update、delete操作

    锁的数量少

    临时表中的数据在会话或者事务结束之后自动删除

  2、会话临时表

    创建会话临时表需要明确指定on commit preserve rows选项。

    create global temporary table (column_name1 data_type ['column_nmame2 data_type ....])

    on commit preserve rows;

  3、事务临时表

    默认为事务临时表,可以不指定on commit delete rows选项

    create global temporary table (column_name1 data_type ['column_nmame2 data_type ....])

    on commit delete rows;

二、索引组织表(index-organized table 简称IOT)

  IOT使用B-tree索引结构存储数据表

  访问IOT只需一个i/o,而访问一般被索引的表需要两个i/o(如果使用索引)

  表中数据一起存储在索引中,而不只是rowid和索引键值

  IOT非常适合用于经常基于主键查询的情况

  创建oit:

  create table table_name(

  column_name1 data_type primary key  --必须创建主键约束

  [,column_name2 data_type ....]

  )

  organization index  --指明是iot

  tablespace tablespace_name

  pctthreshold n  --指明为表数据预留的空间百分比,溢出部分存放在溢出区;n不能超过50,如果太小,会出现行的链接问题。

  including column_name  --指明如果溢出,哪个列放之后的数据放入溢出区

  overflow tablespace tablespace_name;  --指定溢出区所在表空间

三、集群表

  两个或者多个表根据相似列、物理地存储在集群中

  集群表可以提高表的链接速度,便于查询

  创建集群表:

  1、创建集群

    create cluster cluster_name(cluster_key data_type)

    tablespace tablespace_name;

  2、散列集群

    create cluster cluster_name(cluster_key data_type)

    tablespace tablespace_name

    hash is cluster_key hashkeys n;

  3、创建集群表

    create table table_name(

    column_name1 data_type  --该列与集群键名称相同、数据类型相同、数据长度也相同。

    [,column_name2 data_type [,....]]

    )

    cluster cluster_name(column_name1);

  4、删除集群

    drop cluster cluster_name;

    如果集群已经有表,则用如下方式删除:

    drop cluster cluster_name including tables;

 

四、分区表

  1、范围分区

    数据均匀分布在不同范围内

    create table table_name(

    column_name1 data_type

    [,.....])

    partition by range(column_name1)

    (partition par_name1 values less than (value1)[ tablespace tbs_name],

    ....

    );

  2、散列分区

    数据分布不均匀

    create table table_name(]

    column_name1 data_type

    [, ....]

    )

    partition by hash(column_name1)

    partitions n   --n为分区个数

    store in (tbs_name1 [,tbs_name2 [, ....]]);  --表空间个数量可以小于分区个数

    或者:

    create table table_name(]

    column_name1 data_type

    [, ....]

    )

    partition by hash(column_name1)

    (partition par_name1 [tablespace tbs_name1]

    [, ....]

    );

  3、列表分区

    数据的值可以枚举

    create table table_name(]

    column_name1 data_type

    [, ....]

    )

    partition by list(column_name1)

    (partition par_name1 values(value1 [, ...]) tablespace tbs_name1

    [, ....]

   )

  4、范围-散列分区

    create table table_name(]

    column_name1 data_type

    [, ....]

    )

    partition by range(column_name1)

    subpartition by hash(column_name2)

    subpartitions n  --n为子分区个数

    (

    partition par_name values less than (value1) [ tablespace tbs_name]

    [, ....]

    )

    或者: 

    create table table_name(]

    column_name1 data_type

    [, ....]

    )

    partition by range (column_name1)

    subpartition by hash(column_name2)

    (

    partition par_name1 values less than (value1) [tablespace tbs_name]

        subpartition subpar_name1

        [, ....]

    [, ....]

    );

  5、范围-列表分区

    create table table_name(]

    column_name1 data_type

    [, ....]

    )

    partition by range(column_name1)

    subpartition by list(column_name2)

    (

    partition par_name1 values less than(value1) [tablespace tbs_name]

        subpartition subpar_name1 values(value1 [, ....])

        [, ......]

    [, ....]

    );

 

  分区的管理待续。

 

 

 

   

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

shell特殊变量图表

  • 2010-08-25 11:17
  • 121KB
  • 下载

PL/SQL格式化SQL语句, 选中行高亮,双击即显示表数据,特殊Copy 等技巧

1、PL/SQL Developer记住登陆密码   在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;  设置方法:P...

html 特殊符号表

  • 2012-03-10 15:39
  • 95KB
  • 下载

特殊线性表-栈、队列和串

  • 2013-01-31 22:59
  • 4.67MB
  • 下载

HTML特殊转义字符列表

为什么要用转义字符串? HTML中,&等有特殊含义(,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢? 这...

特殊“邻接表”建图方法

(此文借鉴 dollarzhaole 的 《邻接表建图方法及代码》 ) 说明:         建立无向图;         第一行输入n 表示边数; 输入示例:  5  ...

多功能电能表特殊要求

  • 2008-08-21 11:53
  • 317KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)