oracle大表分区
来源:互联网 发布:mac ai路径查找器 编辑:程序博客网 时间:2024/05/16 14:43
最近在做一个项目,有一张表数据量很大,每天系统会产生4W多条数据,现在的数据量已经达到了1500W条,给查询带来了极大的不便,但由于该表当初设计的时候没有对其进行分区,现阶段由于客户反映查询超级缓慢(15秒以上),所以权衡一下就对该表做了表分区,以下是我做表分区的步骤。
1、备份表
create table USERWORKINFO_copy_bak as select * from USERWORKINFO_copy
2、删除原表
truncate table USERWORKINFO_copy
drop table USERWORKINFO_copy
3、建立分区测试用3个表空间)
create tablespace atspace_01
datafile 'E:/tablespace_local/atspace_01.dbf'
size 500M
autoextend on next 50M maxsize 5120M;
create tablespace atspace_02
datafile 'E:/tablespace_local/atspace_02.dbf'
size 500M
autoextend on next 50M maxsize 5120M;
create tablespace atspace_03
datafile 'E:/tablespace_local/atspace_03.dbf'
size 500M
autoextend on next 50M maxsize 5120M;
4、指定表空间的用户及权限
create user atspace_01 identified by "attendance";
create user atspace_02 identified by "attendance";
create user atspace_03 identified by "attendance";
grant create session to atspace_01;
grant create session to atspace_02;
grant create session to atspace_03;
alter user attendance quota unlimited on atspace_01;
alter user attendance quota unlimited on atspace_02;
alter user attendance quota unlimited on atspace_03;
5、建表,分区
create table USERWORKINFO_COPY
(
id VARCHAR2(40) not null,
empno VARCHAR2(20) default '',
empname VARCHAR2(150) default '',
statistics_months VARCHAR2(20) default '',
date_day VARCHAR2(20) default '',
department VARCHAR2(100) default '',
attendance_group VARCHAR2(40) default '',
over_time BINARY_DOUBLE default 0,
absent_day_flag VARCHAR2(20) default ('0'),
leave_early_flag VARCHAR2(20) default ('0'),
leave_day_flag VARCHAR2(20) default ('0'),
late_day_flag VARCHAR2(20) default ('0'),
emp_full_name VARCHAR2(1000) default '',
leaveearly_time BINARY_DOUBLE default 0,
lateday_time BINARY_DOUBLE default 0,
leaveday_time BINARY_DOUBLE default 0,
be_statistics_state VARCHAR2(20) default '0',
end_statistics_state VARCHAR2(20) default ('0'),
tour_code VARCHAR2(20) default '',
normaldayflag VARCHAR2(20) default '0',
tourtype VARCHAR2(20) default '0',
logindate VARCHAR2(40),
logoutdate VARCHAR2(40),
tasktime VARCHAR2(100),
holidayname VARCHAR2(100),
tourbetime VARCHAR2(10),
tourendtime VARCHAR2(10),
recess VARCHAR2(10),
type_name VARCHAR2(40),
supplement VARCHAR2(3),
unassigned VARCHAR2(2),
unassignedname VARCHAR2(10)
)
partition by range (date_day)
(
partition part_01 values less than('2016-04-01')
tablespace atspace_01,
partition part_02 values less than('2016-08-01')
tablespace atspace_02,
partition part_03 values less than(maxvalue)
tablespace atspace_03
);
create index IDX_USERWORKINFO_COPY on USERWORKINFO_COPY (EMPNO, DATE_DAY, EMP_FULL_NAME)
tablespace ATSPACE
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
6、将USERWORKINFO_copy_bak的数据导入到USERWORKINFO_copy表
- oracle大表分区
- oracle大表分区
- oracle大表分区的操作
- Oracle表分区、索引分区
- Oracle表分区:范围分区
- Oracle.表分区:列表分区
- Oracle.表分区:复合分区
- 数据库大表分区
- [DB][Oracle][PARTITION]大数据量分区技术
- oracle大分区表的分区重新整理
- Oracle 大数据量复制 分区解决方式
- oracle数据量大时候分区索引思路
- oracle 9i 大数据表按月分区
- Related to Oracle SQL 关于Oracle大数据量处理与表分区
- ORACLE表分区
- ORACLE表分区
- Oracle表分区
- Oracle表分区
- C/C++--char *s 和 char s[] 的区别
- WebView显示空白页问题解决
- gdb调试core文件
- Logcat使用指南
- HTML + CSS 之 闭合标签与双闭合标签
- oracle大表分区
- linux内核 路由fib表之数据结构
- ns-3 的下载、编译以及 Eclipse 的相关配置
- RecyclerView
- C#基础知识之interface
- 算法的重要性
- SQL 更新触发器的使用
- fprintf、fscanf和sprintf、sscanf
- [Hadoop]->[开发环境搭建] Window环境下配置Hadoop开发环境