在数据库性能需要保障的时候,我们可以使用Oracle进行分区操作.
一 表分区
1.范围分区 一般使用部门字段,地区字段,时间字段
SQL > CREATE TABLE USER
(user_id number(20) primary key,
user_name varchar2(100) not null,
regist_time varcahr(200) not null
)
partition by range(regist_time)
(
partition part_01 values less than(to_date('2003-01-01','yyyy-mm-dd') ) tablespace space_01,
partition part_02 values less than(to_date('2006-01-01','yyyy-mm-dd') ) tablespace space_02,
partition part_03 values less than(maxvalue) tablespace space_03
);
关键字:PARTITION BY RANGE(RANGE_COLUMN)
下面为按照注册日期为表分三个区,最后一个分区不指定日期值,均设定为MAXVALUE.
创建分区的同时为分区指定使用的表空间.
2.散列分区 一般使用编号字段
SQL > CREATE TABLE USER
(user_id number(20) primary key,
user_name varchar2(100) not null,
regist_time varcahr(200) not null
)
partition by hash(user_id)
(
partition part_01 tablespace space_01,
partition part_02 tablespace space_02,
partition part_03 tablespace space_03
)
DBA查看表分区
select * from dba_tab_partitions
USER查看表分区
select * from user_tab_partitions
DBA查看表分区类型
select * from dba_part_tables
USER查看表分区类型
select * from user_part_tables
查询分区表信息
select * from table partition(part_01)
DB2中:
--------------------------------------------------
-- Create Table GEMS_AI_D_AID001
--------------------------------------------------
Create table GEMS_AI_D_AID001 (
AC_DATE CHARACTER(8) ,
BR CHARACTER(6) ,
BR_NAME VARCHAR(60) ,
BK CHARACTER(6) ,
ITM CHARACTER(8) ,
ITM_NAME CHARACTER(240) ,
CCY CHARACTER(3) ,
RATE DECIMAL(12,8) ,
ITM_TYPE CHARACTER(1) ,
CBAL_F DECIMAL(18,2) )
tablespace TSPCAP4J01
Partitioning Key (AC_DATE) Using Hashing;
Comment on Table GEMS_AI_D_AID001 is '业务状况报告表(日报)';
转自:http://blog.csdn.net/ygjdatou/article/details/3224415