告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(6)
2015-03-12 15:07
453 查看
继续分区表
分区表索引的使用:
分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。局部索引针对某个分区,全局索引针对整个表。
通常来说,OLTP系统中以建全局索引居多,OLAP则通常建本地局部索。
局部索引分区的建立:
create index idx_memberBase_memberLoginName on memberBase(memberLoginName)
local
(
partition idx_1 tablespace tb_idx,
partition idx_2 tablespace tb_idx,
partition idx_3 tablespace tb_idx);
当然也可以将每个局部索引建立到不同的表空间下,依据数据量的实际情况而定。
全局索引分区的建立。
全局索引建立时global 子句允许指定索引的范围值,这个范围值为索引字段的范围值:
示例1:
create indexidx_memberBase_memberLoginName on memberBase(memberLoginName)
globalpartition by range(memberID)
(
partitionidx_1 values less than (5000000) tablespace tb_fifc,
partition idx_2 values less than (10000000) tablespace tb_idx,
partition idx_3 values less than(maxvalue) tablespace tb_idx
);
示例2: 同样是全局索引,但是索引表中的数据存放在一起
create index idx_memberBase_memberLoginName on memberBase(memberLoginName)tablespace tb_idx
分区表的维护:
增加一个分区,增加一个分区的时候,增加的分区的条件必须大于现有分区的最大值。
示例:
altertable memberBase
addpartition part_04 values less than(15000000) tablespace tb_mb04;
合并一个分区:
alter table memberBasemerge partitions part_01,part_02 into partition part_02;
在本例中将原有的表的part_01分区和part_02分区进行了合并,合并后的分区为part_02,如果在合并的时候
把合并后的分区定为 part_01的时候,系统将提示越界错误。
删除分区:
altertable memberBase drop partition part_03;
删除分区表的一个分区后,查询该表的数据时显示,该分区中的数据已全部丢失,所以执行删除分区动作时要慎重,确保先备份数据后再执行,或将分区合并。
分区表索引的使用:
分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。局部索引针对某个分区,全局索引针对整个表。
通常来说,OLTP系统中以建全局索引居多,OLAP则通常建本地局部索。
局部索引分区的建立:
create index idx_memberBase_memberLoginName on memberBase(memberLoginName)
local
(
partition idx_1 tablespace tb_idx,
partition idx_2 tablespace tb_idx,
partition idx_3 tablespace tb_idx);
当然也可以将每个局部索引建立到不同的表空间下,依据数据量的实际情况而定。
全局索引分区的建立。
全局索引建立时global 子句允许指定索引的范围值,这个范围值为索引字段的范围值:
示例1:
create indexidx_memberBase_memberLoginName on memberBase(memberLoginName)
globalpartition by range(memberID)
(
partitionidx_1 values less than (5000000) tablespace tb_fifc,
partition idx_2 values less than (10000000) tablespace tb_idx,
partition idx_3 values less than(maxvalue) tablespace tb_idx
);
示例2: 同样是全局索引,但是索引表中的数据存放在一起
create index idx_memberBase_memberLoginName on memberBase(memberLoginName)tablespace tb_idx
分区表的维护:
增加一个分区,增加一个分区的时候,增加的分区的条件必须大于现有分区的最大值。
示例:
altertable memberBase
addpartition part_04 values less than(15000000) tablespace tb_mb04;
合并一个分区:
alter table memberBasemerge partitions part_01,part_02 into partition part_02;
在本例中将原有的表的part_01分区和part_02分区进行了合并,合并后的分区为part_02,如果在合并的时候
把合并后的分区定为 part_01的时候,系统将提示越界错误。
删除分区:
altertable memberBase drop partition part_03;
删除分区表的一个分区后,查询该表的数据时显示,该分区中的数据已全部丢失,所以执行删除分区动作时要慎重,确保先备份数据后再执行,或将分区合并。
相关文章推荐
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(1)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(4)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(8)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(5)
- 如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(1)
- 如何打造一个日均PV千万级别的大型系统?(2017-09-13 周金桥 DBAplus社群)
- 高级别问题:如何在ASP.NET大型应用系统的模块化开发实现多版本程序集并存支持
- 如何搭建千万级别用户的应用系统
- 如何搭建千万级别用户的应用系统
- 老李分享:如何搭建千万级别用户的应用系统 2
- 老李分享:如何搭建千万级别用户的应用系统 1
- Oracle平台应用数据库系统的设计与开发