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]

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: