求教:ORACLE分区别索引及其表空间的问题
时间:2011-12-16
来源:互联网
需求:
1、 数据库见表,采用了复合分区:RANGE-RANGE复合分区。
2、 想通过索引提高DML操作性能,看到ORACLE有GLOBAL/LOCAL两种分区方式。另外,还有设计索引表空间的设计。
对于RANGE-RANGE复合分区的索引,以及索引表空间的概念和设计,不清楚。请给位达达指点一二。
问题(目标数据库表数据都是海量数据):
1、 RANGE-RANGE复合分区应该采用怎样的表空间设计方式?(每个分区对应一个表空间?所有的表都基于分区条件保存到不同的表空间以及对应的数据文件。)
2、 索引 - GLOBAL索引听说如果数据做了改变,需要对索引进行重建!(这可是个浩大工程!!!吓人啊。)所以,我是不是适合建立LOCAL索引?也就是索引都和每个分区绑定,由数据库系统进行自动重建维护索引的有效性。
3、 如果我适合用LOCAL索引。我看到别的文章有建立独立的表空间进行索引文件的存储,这个咋回事?完全不懂。是不是说索引可以建立自己的表空间,然后独立的数据文件存储索引信息。DML操作显示访问索引文件,然后访问数据文件进行数据的操作?
问题较多,还请帮忙,最好能够结合示例说明。谢谢了!
1、 数据库见表,采用了复合分区:RANGE-RANGE复合分区。
2、 想通过索引提高DML操作性能,看到ORACLE有GLOBAL/LOCAL两种分区方式。另外,还有设计索引表空间的设计。
对于RANGE-RANGE复合分区的索引,以及索引表空间的概念和设计,不清楚。请给位达达指点一二。
问题(目标数据库表数据都是海量数据):
1、 RANGE-RANGE复合分区应该采用怎样的表空间设计方式?(每个分区对应一个表空间?所有的表都基于分区条件保存到不同的表空间以及对应的数据文件。)
2、 索引 - GLOBAL索引听说如果数据做了改变,需要对索引进行重建!(这可是个浩大工程!!!吓人啊。)所以,我是不是适合建立LOCAL索引?也就是索引都和每个分区绑定,由数据库系统进行自动重建维护索引的有效性。
3、 如果我适合用LOCAL索引。我看到别的文章有建立独立的表空间进行索引文件的存储,这个咋回事?完全不懂。是不是说索引可以建立自己的表空间,然后独立的数据文件存储索引信息。DML操作显示访问索引文件,然后访问数据文件进行数据的操作?
问题较多,还请帮忙,最好能够结合示例说明。谢谢了!
作者: teleinfor 发布时间: 2011-12-16
关于索引的追问:
1、 表上的不同的字段,都有可能需要索引。我选择了一些常用的字段作为索引,比如COL1、COL2、COL3.由于这些个字段作为条件时有组合和非组合只说。我是不是应为每一个字段建立一个单独的索引呢?比如:
SQL code
还是说建立一个索引:
SQL code
对于索引的建立我一直理解的不深入。还请指点。
1、 表上的不同的字段,都有可能需要索引。我选择了一些常用的字段作为索引,比如COL1、COL2、COL3.由于这些个字段作为条件时有组合和非组合只说。我是不是应为每一个字段建立一个单独的索引呢?比如:
SQL code
CREATE INDEX COL1_INDEX ON TABLE(COL1) CREATE INDEX COL2_INDEX ON TABLE(COL2) CREATE INDEX COL3_INDEX ON TABLE(COL3)
还是说建立一个索引:
SQL code
CREATE INDEX COL_INDEX ON TABLE(COL1,COL2,COL3)
对于索引的建立我一直理解的不深入。还请指点。
作者: teleinfor 发布时间: 2011-12-16
问题追问:
对于复合分区的表空间如何设计?
比如RANGE-RANGE类型的复合表空间。如下如何制定表空间?是不是只能制定二级子分区的表空间?主分区被映射到子分区,然后才是映射到物理存储啊?也就是说只能在subpartition .... tablespace ...了
SQL code
对于复合分区的表空间如何设计?
比如RANGE-RANGE类型的复合表空间。如下如何制定表空间?是不是只能制定二级子分区的表空间?主分区被映射到子分区,然后才是映射到物理存储啊?也就是说只能在subpartition .... tablespace ...了
SQL code
SQL> CREATE TABLE T_RANGE_RANGE 2 PARTITION BY RANGE (CREATED) 3 SUBPARTITION BY RANGE (LAST_DDL_TIME) 4 ( 5 PARTITION P1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')) 6 ( 7 SUBPARTITION P1_SP1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')), 8 SUBPARTITION P1_SP2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')), 9 SUBPARTITION P1_SP3 VALUES LESS THAN (MAXVALUE) 10 ), 11 PARTITION P2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')) 12 ( 13 SUBPARTITION P2_SP1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')), 14 SUBPARTITION P2_SP2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')), 15 SUBPARTITION P2_SP3 VALUES LESS THAN (MAXVALUE) 16 ), 17 PARTITION P3 VALUES LESS THAN (MAXVALUE) 18 ( 19 SUBPARTITION P3_SP1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')), 20 SUBPARTITION P3_SP2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')), 21 SUBPARTITION P3_SP3 VALUES LESS THAN (MAXVALUE) 22 ) 23 ) 24 AS SELECT * FROM DBA_OBJECTS;
作者: teleinfor 发布时间: 2011-12-16
越来越玉米糊了。。。。看到一个例子这么写。主分区指定表空间,子分区也有自己的表空间。
SQL code
SQL code
四、复合范围列表分区:这种分区是基于范围分区和列表分区,表首先按某列进行范围分区,然后再按某列进行列表分区,分区之中的分区被称为子分区。 示例1: CREATE TABLE SALES ( PRODUCT_ID VARCHAR2(5), SALES_DATE DATE, SALES_COST NUMBER(10), STATUS VARCHAR2(20) ) PARTITION BY RANGE(SALES_DATE) SUBPARTITION BY LIST (STATUS) ( PARTITION P1 VALUES LESS THAN (TO_DATE('2003-01-01','YYYY-MM-DD')) TABLESPACE P1_TS ( SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE SUBP1_TS1, SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE SUBP1_TS2 ), PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE P2_TS ( SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE SUBP2_TS1, SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE SUBP2_TS2 ) )
作者: teleinfor 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28