oracle 11g表智能按月分区
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 之前日志表700多万数据,涉及到日志表的业务查询速度很慢一个月的数据查询也将近30秒左右,研究发现oracle有表分区功能 11G更加有智能按月分区功能 开干: 前提确认能的表可以分区 第一步,先创建分
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
之前日志表700多万数据,涉及到日志表的业务查询速度很慢一个月的数据查询也将近30秒左右,研究发现oracle有表分区功能 11G更加有智能按月分区功能 开干:
前提确认能的表可以分区
第一步,先创建分区的表
--INTERVAL分区
--这个其实是范围分区的增强功能,通过这个功能可以实现在需要的时候自动的实现新的分区的添加,从而省去了你不断的ADD或者SPLIT新的分区。
CREATE TABLE SYS_LOG_TEM(pid NUMBER not null,
yhdm VARCHAR2(30),
bmdm VARCHAR2(12),
pdaid VARCHAR2(512),
simid VARCHAR2(50),
logmodule VARCHAR2(1),
logtype VARCHAR2(4),
operatetype CHAR(1),
methodname VARCHAR2(100),
methodinfo VARCHAR2(2000),
execstatus VARCHAR2(1),
execerrorinfo VARCHAR2(1000),
alltimespent NUMBER,
proxytimespent NUMBER,
logcontent VARCHAR2(4000),
logtime DATE default sysdate,
memo VARCHAR2(200),
returnflag CHAR(1),
returninfo VARCHAR2(1000),
gpsx VARCHAR2(20),
gpsy VARCHAR2(20))
PARTITION BY RANGE (logtime)
INTERVAL (NUMTOYMINTERVAL(1, 'MONTH'))
(PARTITION P1 VALUES LESS THAN (TO_DATE('2012-4-1', 'YYYY-MM-DD')));
(因为我表里目前的数据最小的是4月份的,所以我让它从四月份开始分区)
[1] [2] [3]
推荐阅读
-
Oracle 10g 11g分区表创建举例
-
Oracle 11g收缩表空间报错 ORA-03297: file contains used data beyondr
-
Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态
-
Oracle 11g的exp不能导出空表
-
Oracle分区表使用实例
-
Oracle 11g虚拟列上建分区
-
Oracle 10g 11g分区表创建举例
-
Oracle 11g R2 全表扫描成本计算(非工作量模式-noworkload)
-
oracle分区表之hash分区表的使用及扩展
-
Oracle 11g Release 1 (11.1) 表空间创建和扩展(永久)表空间