首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 性能调优 >> 正文

本地分区索引如何确定表空间(1)


  表和索引建立的时候如果不指定表空间,会建立在用户的默认表空间中。对于分区表和分区索引,则确定建立的表空间的规则要复杂一些,本文进行简单的总结
  
  分区表的分区增加分区如果不指定表空间,会根据分区表的默认表空间,如果分区表没有指定默认表空间,则建立在用户的默认表空间上。参考例一。
  
  复合分区表增加子分区如果不指定表空间,会根据分区上的默认表空间,如果分区上没有指定,则根据表上面的默认表空间,如果表上也没有指定,则建立在用户的默认表空间上。参考例二。
  
  分区索引的情况比分区还要复杂一些。由于本地索引会随着增加分区的操作自动增加,因此,无法明确的为这个索引指定表空间。如果在建立分区索引时,给出了默认表空间,那么新增的索引分区所在表空间和新增表分区所在表空间保持一致。参考例三。
  
  复合分区索引的情况和分区索引类似。当复合分区表增加子分区时,如果复合分区索引给出了分区默认表空间,则新建的索引子分区建立在索引分区默认表空间上,如果分区一级没有明确致命默认表空间,则依据索引一级的默认表空间创建新子分区,如果索引一级仍然没有设置明确设置表空间,则索引子分区的表空间和表中子分区的表空间保持一致。参考例四。
  
  例一:分区表增加分区
  
  SQL> SELECT DEFAULT_TABLESPACE FROM USER_USERS;
  
  DEFAULT_TABLESPACE
  ------------------------------
  YANGTK
  
  
  SQL> CREATE TABLE TEST (ID NUMBER)
   2 TABLESPACE USERS
   3 PARTITION BY RANGE (ID)
   4 (
   5  PARTITION P1 VALUES LESS THAN (100)
   6  TABLESPACE TEST
   7 );
  
  表已创建。
  
  SQL> CREATE TABLE TEST1 (ID NUMBER)
   2 PARTITION BY RANGE (ID)
   3 (
   4  PARTITION P1 VALUES LESS THAN (100)
   5  TABLESPACE TEST
   6 );
  
  表已创建。
  
  SQL> ALTER TABLE TEST ADD PARTITION P2 VALUES LESS THAN (200);
  
  表已更改。
  
  SQL> ALTER TABLE TEST1 ADD PARTITION P2 VALUES LESS THAN (200);
  
  表已更改。
  
  SQL> SELECT TABLE_NAME, TABLESPACE_NAME FROM USER_TAB_PARTITIONS
   2 WHERE PARTITION_NAME = 'P2';
  
  TABLE_NAME           TABLESPACE_NAME
  ------------------------------ ------------------------------
  TEST              USERS
  TEST1             YANGTK
  
  SQL> DROP TABLE TEST;
  
  表已丢弃。
  
  SQL> DROP TABLE TEST1;
  
  表已丢弃。
  
  例二:复合分区表增加子分区
  
  SQL> SELECT DEFAULT_TABLESPACE FROM USER_USERS;
  
  DEFAULT_TABLESPACE
  ------------------------------
  YANGTK
  
  SQL> CREATE TABLE TEST (TIME DATE, STATE VARCHAR2(10))
   2 TABLESPACE TOOLS
   3 PARTITION BY RANGE (TIME) SUBPARTITION BY LIST (STATE)
   4 (
   5  PARTITION P1 VALUES LESS THAN (TO_DATE('2004-1-1', 'YYYY-MM-DD'))
   6  TABLESPACE USERS
   7  (
   8  SUBPARTITION SP1 VALUES ('BJ')
   9  TABLESPACE TEST
   10  )
   11 )
   12 ;
  
  表已创建。
  
  SQL> CREATE TABLE TEST1 (TIME DATE, STATE VARCHAR2(10))
   2 TABLESPACE TOOLS
   3 PARTITION BY RANGE (TIME) SUBPARTITION BY LIST (STATE)
   4 (
   5  PARTITION P1 VALUES LESS THAN (TO_DATE('2004-1-1', 'YYYY-MM-DD'))
   6  (
   7  SUBPARTITION SP1 VALUES ('BJ')
   8  TABLESPACE TEST
   9  )
   10 )
   11 ;
  
  表已创建。
  
  SQL> CREATE TABLE TEST2 (TIME DATE, STATE VARCHAR2(10))
   2 PARTITION BY RANGE (TIME) SUBPARTITION BY LIST (STATE)
   3 (
   4  PARTITION P1 VALUES LESS THAN (TO_DATE('2004-1-1', 'YYYY-MM-DD'))
   5  (
   6  SUBPARTITION SP1 VALUES ('BJ')
   7  TABLESPACE TEST
   8  )
   9 )
   10 ;
  
  表已创建。
  
  SQL> ALTER TABLE TEST MODIFY PARTITION P1 ADD SUBPARTITION SP2 VALUES ('SH');
  
  表已更改。
  
  SQL> ALTER TABLE TEST1 MODIFY PARTITION P1 ADD SUBPARTITION SP2 VALUES ('SH');
  
  表已更改。
  
  SQL> ALTER TABLE TEST2 MODIFY PARTITION P1 ADD SUBPARTITION SP2 VALUES ('SH');
  
  表已更改。
  
  SQL> SELECT TABLE_NAME, TABLESPACE_NAME FROM USER_TAB_SUBPARTITIONS
   2 WHERE SUBPARTITION_NAME = 'SP2';
  
  TABLE_NAME           TABLESPACE_NAME
  ------------------------------ ------------------------------
  TEST              USERS
  TEST1             TOOLS
  TEST2             YANGTK
  
  SQL> DROP TABLE TEST;
  
  表已丢弃。
  
  SQL> DROP TABLE TEST1;
  
  表已丢弃。
  
  SQL> DROP TABLE TEST2;
  
  表已丢弃。
  
  例三:本地索引分区
  
  SQL> SELECT DEFAULT_TABLESPACE FROM USER_USERS;
  
  DEFAULT_TABLESPACE
  ------------------------------
  YANGTK
  
  SQL> CREATE TABLE TEST (ID NUMBER, NAME VARCHAR2(30))
   2 TABLESPACE USERS
   3 PARTITION BY RANGE (ID)
   4 (
   5  PARTITION P1 VALUES LESS THAN (100)
   6  TABLESPACE TEST
   7 );
  
  表已创建。
  
  SQL> CREATE TABLE TEST1 (ID NUMBER, NAME VARCHAR2(30))
   2 PARTITION BY RANGE (ID)
   3 (
   4  PARTITION P1 VALUES LESS THAN (100)
   5  TABLESPACE TEST
   6 );
【责编:admin】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航