Home  >  Article  >  Database  >  oracle 11g表智能按月分区

oracle 11g表智能按月分区

WBOY
WBOYOriginal
2016-06-07 15:03:431185browse

欢迎进入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 11g表智能按月分区

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn