Oracle分区技术
2010-03-03 20:53
423 查看
ORACLE的分区(Partitioning Option)是一种处理超大型表的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。
select * from user_tables a where a.partitioned= 'YES '
Sql代码
CREATE TABLE range
(id NUMBER(5),
name VARCHAR2(30),
amount NUMBER(10),
sdate DATE)
COMPRESS
PARTITION BY RANGE(sdate)
(PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('16/09/2009','DD/MM/YYYY')),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('17/09/2009','DD/MM/YYYY')),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('18/09/2009','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('19/09/2009','DD/MM/YYYY')));
动态增加分区
Sql代码
create or replace procedure addpart(tableName varchar2,
partName varchar2,
adate varchar2)
is
begin
execute immediate 'alter table ' || tableName || ' add partition ' || partName || '
values less than (to_date(''' || adate || ''',''YYYY-MM-DD'')' || ')';
end addpart;
增加一个分区:alter table add partition/alter table split partition
释放一个表分区 alter table ** drop partition **
select * from user_tables a where a.partitioned= 'YES '
Sql代码
CREATE TABLE range
(id NUMBER(5),
name VARCHAR2(30),
amount NUMBER(10),
sdate DATE)
COMPRESS
PARTITION BY RANGE(sdate)
(PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('16/09/2009','DD/MM/YYYY')),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('17/09/2009','DD/MM/YYYY')),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('18/09/2009','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('19/09/2009','DD/MM/YYYY')));
CREATE TABLE range (id NUMBER(5), name VARCHAR2(30), amount NUMBER(10), sdate DATE) COMPRESS PARTITION BY RANGE(sdate) (PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('16/09/2009','DD/MM/YYYY')), PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('17/09/2009','DD/MM/YYYY')), PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('18/09/2009','DD/MM/YYYY')), PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('19/09/2009','DD/MM/YYYY')));
动态增加分区
Sql代码
create or replace procedure addpart(tableName varchar2,
partName varchar2,
adate varchar2)
is
begin
execute immediate 'alter table ' || tableName || ' add partition ' || partName || '
values less than (to_date(''' || adate || ''',''YYYY-MM-DD'')' || ')';
end addpart;
create or replace procedure addpart(tableName varchar2, partName varchar2, adate varchar2) is begin execute immediate 'alter table ' || tableName || ' add partition ' || partName || ' values less than (to_date(''' || adate || ''',''YYYY-MM-DD'')' || ')'; end addpart;
增加一个分区:alter table add partition/alter table split partition
释放一个表分区 alter table ** drop partition **
相关文章推荐
- Oracle 分区(partition)技术
- Oracle提供了分区技术(汇总帖)
- Oracle分区技术
- oracle分区技术在计费中的应用论证 (转载自ITPUB)
- Oracle 分区(partition)技术
- Oracle技术之串行隔离对延迟段和INTERVAL分区的支持
- oracle分区交换技术
- oracle分区技术提高查询效率
- Oracle 分区技术
- oracle分区交换技术
- Oracle分区技术
- 关于oracle分区技术--初了解
- AAA oracle分区技术 自己的总结
- Oracle技术之串行隔离对延迟段和INTERVAL分区的支持
- 柯南君 :Oracle 分区技术 之 如何支撑大数据操作?
- Oracle技术之在分区表上全局信息与分区信息如何影响执行计划
- Oracle分区技术总结
- 我对oracle分区技术的学习
- oracle 的动态采样技术
- Oracle技术之ASM Buffer Cache的作用和功能