我有一个包含以下架构的表:
MyTable { 用户身份, TASK_ID, 任务描述 } 其中Task_ID是主键。
我希望在User_ID上对其进行分区。此外,可能会添加新用户,并且我希望自动创建新的相应分区。 我浏览了this(参见第8页),发现Oracle 11g提供了Interval分区,它具有类似的功能,但有间隔。
我可以使用User_ID执行相同操作吗?
答案 0 :(得分:1)
您无法为每个不同的varchar(128)
值自动生成唯一分区。
您可以对表进行哈希分区。这并不能保证每个分区都有一个唯一的user_id
值。它将确保具有相同user_id
的所有行都在一个分区中,并且无需进行手动分区维护。
您可以列出表格的分区。但是,这需要在添加新的user_id
值时显式添加新分区。
如果user_id
值是严格可预测的,您可能会对虚拟列上的间隔分区方案执行某些操作。但这似乎不太可能实用。
您要解决的业务问题是什么?为什么每个分区都需要一个user_id
值?你为什么要首先对表格进行分区?