ORACLE 表分区
2016-04-06 12:27
423 查看
--1、先创建一个临时表,用于分区,表结构跟原来保持一致
create table TEST_TEMP
(
ID CHAR(12) not null,
WORKFLOWID VARCHAR2(40),
WORKID VARCHAR2(100),
---中间省去相关内容
COOPERATE_FLAG VARCHAR2(1)
)
partition by list (WORKFLOWID)
(
PARTITION P_ImpAdviceAudit VALUES('ImpAdviceAudit'),
PARTITION P_ImpEPAudit VALUES('ImpEPAudit'),
PARTITION P_OTHERS values (default)
);
--2、关闭数据库日志,为写入数据准备,减少数据库的redo和undo日志,将原有的流程表数据拷贝到分区后的临时表中,使用append模式插入数据,减少undo的开销,提升数据的插入速度
alter table TEST_TEMP nologging;
insert /*+append*/ into TEST_TEMP select * from TEST;
commit;
alter table TEST_TEMP logging;
--3、为临时表添加索引
create index IDX_WFTFC1 on TEST_TEMP (WORKID) nologging;
--4、修改原来的表名为备份表,以便数据恢复使用
ALTER TABLE TEST RENAME TO TEST_BAK;
--5、将临时表名称修改为正式表
ALTER TABLE TEST_TEMP RENAME TO TEST;
--6、更新表的统计信息(包括表和索引),以便提高查询统计效率
exec dbms_stats.gather_table_stats(user,'TEST',cascade=>true);
create table TEST_TEMP
(
ID CHAR(12) not null,
WORKFLOWID VARCHAR2(40),
WORKID VARCHAR2(100),
---中间省去相关内容
COOPERATE_FLAG VARCHAR2(1)
)
partition by list (WORKFLOWID)
(
PARTITION P_ImpAdviceAudit VALUES('ImpAdviceAudit'),
PARTITION P_ImpEPAudit VALUES('ImpEPAudit'),
PARTITION P_OTHERS values (default)
);
--2、关闭数据库日志,为写入数据准备,减少数据库的redo和undo日志,将原有的流程表数据拷贝到分区后的临时表中,使用append模式插入数据,减少undo的开销,提升数据的插入速度
alter table TEST_TEMP nologging;
insert /*+append*/ into TEST_TEMP select * from TEST;
commit;
alter table TEST_TEMP logging;
--3、为临时表添加索引
create index IDX_WFTFC1 on TEST_TEMP (WORKID) nologging;
--4、修改原来的表名为备份表,以便数据恢复使用
ALTER TABLE TEST RENAME TO TEST_BAK;
--5、将临时表名称修改为正式表
ALTER TABLE TEST_TEMP RENAME TO TEST;
--6、更新表的统计信息(包括表和索引),以便提高查询统计效率
exec dbms_stats.gather_table_stats(user,'TEST',cascade=>true);
相关文章推荐
- ORACLE各种插入数据方式对比
- oracle使用数据导出与导入
- Oracle 10g R2 删除ASM实例
- Hibernate操作Blob/Clob时,发生cannot be cast to oracle.sql.BLOB错误分析
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
- ORACLE定时器停止运行
- oracle数据库迁移
- 详解Oracle自定义异常示例
- (四)Oracle 11g 安装 -- windows 完全卸载
- (三) Oracle 11g 安装 -- 客户端安装
- (二) Oracle 11g 安装 -- plsqldev 安装
- (一)Oracle 11g 安装--服务端安装
- Oracle在Linux下使用异步IO(aio)配置
- Oracle同义词总结
- 【转】Oracle中 NLS_DATE_FORMAT的设置方法
- Oracle和SQLServer补齐字符串的方法
- oracle设置自增
- Oracle命令(一):Oracle登录命令
- oracle查询数据库名、实例名等