在oracle中列出分区

时间:2014-04-08 07:49:46

标签: oracle oracle11g partitioning database-partitioning

我有一个包含以下架构的表:

MyTable { 用户身份, TASK_ID, 任务描述 } 其中Task_ID是主键。

我希望在User_ID上对其进行分区。此外,可能会添加新用户,并且我希望自动创建新的相应分区。 我浏览了this(参见第8页),发现Oracle 11g提供了Interval分区,它具有类似的功能,但有间隔。

我可以使用User_ID执行相同操作吗?

1 个答案:

答案 0 :(得分:1)

您无法为每个不同的varchar(128)值自动生成唯一分区。

您可以对表进行哈希分区。这并不能保证每个分区都有一个唯一的user_id值。它将确保具有相同user_id的所有行都在一个分区中,并且无需进行手动分区维护。

您可以列出表格的分区。但是,这需要在添加新的user_id值时显式添加新分区。

如果user_id值是严格可预测的,您可能会对虚拟列上的间隔分区方案执行某些操作。但这似乎不太可能实用。

您要解决的业务问题是什么?为什么每个分区都需要一个user_id值?你为什么要首先对表格进行分区?