oracle分区表如何每月自动增加分区

oracle分区表如何每月自动增加分区,第1张

在oracle中如果涉及到自动的任务一般采用job的方法。

1 自己写一个存储过程。这个存储过程的目的就是给分区表增加一个分区。

2 新建一个Job,设定每个月某个时刻调用你写的存储过程

这样就能达到你每月自动增加分区的需求。

ql代码

#这里使用HASH表分区,mysql会根据HASH字段来自动分配数据到不同的表分区,这种情况适用于没有表分区规则但是有需要分表来进行查询优化的情况。这里根据id字段hash规则创建2个表分区

CREATE TABLE `creater_bak` (

`id` int(11) NOT NULL,

`name` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

PARTITION BY HASH(id) PARTITIONS 2

创建完成后开始导入原表数据:

Sql代码

insert into creater_bak select * from creater

导入以后的新表数据就是分布在不同的2个表分区中了。

如果数据量非常大,觉得预设的表分区数量太少,那么可以新增表分区,mysql会自动重新分配:

Sql代码

#这里新增8个表分区,加上新建表时候的2个,一共10个表分区了

ALTER TABLE `creater_bak` ADD PARTITION PA


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11589376.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存