【问题标题】:adding partition and sub partition using alter table query使用 alter table 查询添加分区和子分区
【发布时间】:2017-02-21 04:39:09
【问题描述】:

我想更改现有表并在日期上创建一个分区(列名 - date_abc),我没有特定的日期值,所以每个日期值将有一个单独的分区和一个子分区类型(列名- type) 可以是 3 个,即 a、b 和 c。

【问题讨论】:

  • 这张表是非分区的吗?
  • 问题是什么?
  • 表未分区,我要添加分区和子分区
  • 但是您遇到了什么问题?另外,我有兴趣了解为什么您要分区?
  • 我的表中有很多记录,我被分配了分区的任务。该表有十万条记录。我只需要查询。希望你能理解。谢谢

标签: sql oracle partitioning alter-table


【解决方案1】:

看看interval partitioning。这是满足您要求的解决方案。

间隔分区是对 Oracle 11g 中范围分区的增强,间隔分区会在添加新数据时自动创建基于时间的分区(DAY、MONTH、YEAR 等)

这里是链接,例如:https://docs.oracle.com/cd/E11882_01/server.112/e25523/part_admin001.htm#BAJHFFBE

当然,您可以将区间分区与基于列表的子分区结合起来。这是 asktom 论坛的一个例子。 https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5257352600346172725

【讨论】:

  • 我不想在日期范围内分隔值。我希望一个特定的日期成为一个分区。例如。 01-Jan-2017 有 40 万条记录,所以我希望它们位于单个分区中。对其他人同样明智
  • 如果是range partition,您将不得不为每个日期手动创建一个分区。在interval partition 的情况下,系统会自动为每个日期创建一个单独的分区。您所要做的就是在重新定义表格时指定interval(numtodsinterval(1, 'DAY'))
猜你喜欢
  • 2013-03-19
  • 2021-04-01
  • 2015-11-12
  • 1970-01-01
  • 2020-02-04
  • 2017-02-26
  • 2019-11-06
  • 2017-01-26
  • 1970-01-01
相关资源
最近更新 更多