日志型数据表-查询优化-分区

  • Post author:
  • Post category:其他




数据库优化-表分区


一般应用系统中的日志表随着时间的推移数据量会越来越大,这种情况无论是查询还是删除,效率将越来越低


于是采用了表分区的方式来优化,原日志表不修改,新建一个历史表用来作为分区表,按日或者月分区,按一周或者月将日志数据备份到历史表,然后清除日志表。

文章目录




前言


1.历史表的分区


2.分区的其他只是点补充



提示:以下是本篇文章正文内容,下面案例可供参考



一、历史表创建

CREATE TABLE LOG_HIS ( id INT NOT NULL, DA DATE NOT NULL)

PARTITION BY RANGE (“DA “) INTERVAL (NUMTODSINTERVAL(1, ‘DAY’))

(PARTITION “HIS_DAY”  VALUES LESS THAN (TO_DATE(‘ 2019-10-01 00:00:00’, ‘SYYYY-MM-DD HH24:MI:SS’,              ‘NLS_CALENDAR=GREGORIAN’);


PARTITION BY RANGE (“DA “) INTERVAL (NUMTODSINTERVAL(1, ‘DAY’)) –按天自增分区,插入数据根据新增的分区放入不同分区里面。



二、按月分区



1.按月


代码如下(示例):

PARTITION BY RANGE (CREATE_TIME) INTERVAL (numtoyminterval(1, 'month'))
(partition part_t01 values less than(to_date('2018-11-01', 'yyyy-mm-dd')));



2.查询表分区


代码如下(示例):

select table_name,partition_name from user_tab_partitions where table_name='表名称'


查询表有哪些分区




总结



版权声明:本文为fdg277137601原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。