首页 > 解决方案 > 通过动态增加拆分在 oracle 中创建拆分分区

问题描述

晚上好,

我必须使用拆分分区将表中的值插入到另一个表中; partition 是 range 类型,取值范围从 1 开始,对应一月,以 12 结束,对应十二月,目的是做个检查:

  1. 如果分区存在,我必须在表中插入与该分区对应的值
  2. 如果分区不存在,我必须创建主分区的拆分,然后将与该分区拆分对应的值插入到表中。
  3. 这个split值的增加必须动态设置,这样我就不用重写split partitioning 12次了

感谢您的帮助,如果不清楚,我会提供更多详细信息

标签: mysqlplsqlpartitioning

解决方案


拆分称为REORGANIZE PARTITION

要查看您当前拥有的分区,请使用information_schema. partitions. 从中,以及对模式的了解,以及(最好)您对分区的命名约定,推断是否拆分。

这最好在cron工作中或EVENT在需要新分区之前完成。如果数据大致按时间顺序出现,那是最好的。如果数据带有随机时间戳,请详细说明。

同时,这里讨论了如何为基于时间的数据做一组滑动分区,以及一些技巧。

十二月之后你会做什么?我希望你不会覆盖一月。我希望你正在使用PARTITION BY RANGE;否则,您无法对任何范围测试进行分区修剪。


推荐阅读