- 6
- 0
- 约6.74千字
- 约 50页
- 2020-02-27 发布于陕西
- 举报
Oracle表分区的类型 1.范围分区(Range Partition); 2.列表分区(List Partition); 3.散列分区(Hash Partition); 4.组合分区(Composite Partition); Oracle表分区的类型-范围分区 Create table ZY_FYMX (FYRQ date, FYMC varchar(20) ) Partition by range(FYRQ) (partition part_1 values less then (to_date(‘01/01/2005’,’dd/mm/yyyy’)), partition part_2 values less then (to_date(‘01/01/2006’,’dd/mm/yyyy’)), partition part_3 values less then (MAXVALUE) ) 例子:白板图示写入和查询实现 Oracle表分区的类型-列表分区 对于ZY_FYMX表按照病区来分区,该医院共有30个病区,如”妇产科”,”呼吸科”,”骨科”,”心血管科”,”外科”等.现有如下分区语句: Create table ZY_FYMX ( YPXH int, YPMC varchar(100), BQMC varchar(20) ) partition by list(BQMC) (partition part_1 values (‘妇产科’,’呼吸科’,’骨科’), partition part_2 values (‘心血管科’,’外科’) ) 假如,插入一条BQMC=‘内科’的记录,会发生什么现象? part_3 value(DEFAULT) Oracle表分区的类型-散列分区 散列分区的其中一个原因,就是根据范围和列表条件无法进行分区,某一列要足够多的相异值,这样才能使数据均匀分布在不同分区里. Create table ZY_FYMX ( FYXH number(10), YPMC varchar(100), BQMC varchar(20) ) partition by HASH(FYXH) (partition part_1 tablespace t1, partition part_2 tablespace t2, partition part_2 tablespace t3 ) 注:使用了散列分区,将无法控制哪一行最终会放到哪个分区。 Oracle表分区的类型-组合分区 第一层分区总是范围分区,第二分区可以是列表分区和散列。 Create table ZY_FYMX ( FYRQ date, FYMC varchar(20), BQMC varchar(20) ) partition by range(FYRQ) subpartition by list(BQMC) (partition part_1 values less then (to_date(‘01/01/2005’,’dd/mm/yyyy’)) (subpartition sub_part_1, subpartition sub_part_2 ), partition part_2 values less then (to_date(‘01/01/2006’,’dd/mm/yyyy’)), partition part_3 values less then (MAXVALUE) ) Oracle表分区的类型-行移动 修改会导致两种情况: 1.修改不会导致一个行使用不同的分区;行仍属于原来的分区;默认属于这种情况。 2.修改会导致行跨分区移动.只有当表启用了行移动时才支持这种情况,否则会产生一个错误. alter table table_name enable row movement; 存在一个问题,如果表上有触发器会发生什么现象? 第五章 ORACLE的并行处理 并行处理的理解 1.并行执行很神奇,一个原本要执行数小时甚至几天的过程,通过并行,可能几分钟就完成了。 2.并行处理并不是一个通用的方案,有时候甚至可以说是一个不可扩展的方案,某些时候用在特定的环境里。 应用并行的条件: 1.必须有一个非常大的任务; 2.必须有足够的可用资源; 并行处理的方式 有以下并行处理方式: 1.并行查询; 2.并行DML; 3.并行DDL; 4.并行恢复; 5.过程并行化 并行查询 alter table big_table parallel 4; alter table big_table parallel; 并行DML 必须显式地声明 alter session en
原创力文档

文档评论(0)