问题描述
我有列表范围分区的复合分区事实表,它目前包含1756515660行。
为了合并动态分区/子分区,我们希望切换到表的列表列表样式。
鉴于表的大小很大,我们不想将数据传输到临时表,用新样式重新创建表并将数据放回去。
我们想做的是创建另一个具有子分区的列表列表样式的表,并重命名原始表
并创建一个视图,该视图具有旧表和新表的直联合的原始表的名称 (因此不需要更新select查询)。
我们还能收获使用视图进行分区和索引的好处吗?
为了合并动态分区/子分区,我们希望切换到表的列表列表样式。
鉴于表的大小很大,我们不想将数据传输到临时表,用新样式重新创建表并将数据放回去。
我们想做的是创建另一个具有子分区的列表列表样式的表,并重命名原始表
并创建一个视图,该视图具有旧表和新表的直联合的原始表的名称 (因此不需要更新select查询)。
我们还能收获使用视图进行分区和索引的好处吗?
专家解答
“鉴于表的大小很大,我们不想将数据传输到临时表,使用新样式重新创建表并将数据放回去。”
如果这是一个停机时间问题,则可以查看dbms_redefinition以几乎为零的停机时间来完成此操作。
据我所知,我假设您的意图是通过现有分区方案查询 “旧” 数据,而新数据将在新方案中?
如果是这样的话,那么只要你是一个UNION ALL (不是UNION),那么你应该没问题,因为优化器相当擅长挑选这个,如果可以的话,从考虑中删除表格。
显然,你会想要测试/基准你最关键的查询,以防止回归。
如果这是一个停机时间问题,则可以查看dbms_redefinition以几乎为零的停机时间来完成此操作。
据我所知,我假设您的意图是通过现有分区方案查询 “旧” 数据,而新数据将在新方案中?
如果是这样的话,那么只要你是一个UNION ALL (不是UNION),那么你应该没问题,因为优化器相当擅长挑选这个,如果可以的话,从考虑中删除表格。
显然,你会想要测试/基准你最关键的查询,以防止回归。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




