数据库优化-表分区
一般应用系统中的日志表随着时间的推移数据量会越来越大,这种情况无论是查询还是删除,效率将越来越低
于是采用了表分区的方式来优化,原日志表不修改,新建一个历史表用来作为分区表,按日或者月分区,按一周或者月将日志数据备份到历史表,然后清除日志表。
文章目录
前言
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='表名称'
查询表有哪些分区
总结