创建一个和目标表一样定义的表;
在表上加上constraint以确保表的数据在目标分区里;
Alter table 源表 switch to 目标表 partition 分区号
其中分区号可以通过$partition.partion_func( column value)获得
这个过程比insert select要快很多,因为不涉及到io,只需要修改元数据,该边partition的onwer而已。
但是上述过程只适用于目标表的分区函数中目标分区已存在的情况。比如你定义了边界为1,2,3的分区函数,那么4和5都会插入到第4个分区里。
所以我推荐使用这种提前定义好分区函数所有分区的方法,如果你要按天分区,你就先定义好1000个分区。这种方法比较简单,不需要在加入数据时进行检查,从而导致错误。
如果您一定要使用动态分区的话,在加入一个源表作为新的分区时,需要如下操作:
首先取得新加入的分区列的值,设为X;
通过sys.Partition_range_values和sys.partition_functions找到目标分区函数所有的边界值;
进行如下的检查:
在这里分界值属于左边分区还是右边分区是有区别的,我们假设属于左边分区;
如果X存在于2步的边界值集合中,那么恭喜你,不需做额外的操作;
如果X大于2步中最大的边界,你不仅需要为X分裂出一个分区,还要保证小于X的数据都有自己分区。
每次加入分区时检查已有的边界值,如果不等于其中的任何一个,则以X为参数split, 并删除目标表中分区列和X相同的数据。
像之前描述的步骤那样switch源表到目标分区中。
如果在2步的时候,目标分区已经存在数据,alter ...switch语句就会失败,原因是目标分区不为空。
可以理解为,switch操作是修改表的元数据,用新的分配单元替换原来的分配单元。如果原来的分配单元不为空,那么这次替换就会造成一些数据的丢失,从而破坏了数据的完整性,因此是不允许的。
在表上加上constraint以确保表的数据在目标分区里;
Alter table 源表 switch to 目标表 partition 分区号
其中分区号可以通过$partition.partion_func( column value)获得
这个过程比insert select要快很多,因为不涉及到io,只需要修改元数据,该边partition的onwer而已。
但是上述过程只适用于目标表的分区函数中目标分区已存在的情况。比如你定义了边界为1,2,3的分区函数,那么4和5都会插入到第4个分区里。
所以我推荐使用这种提前定义好分区函数所有分区的方法,如果你要按天分区,你就先定义好1000个分区。这种方法比较简单,不需要在加入数据时进行检查,从而导致错误。
如果您一定要使用动态分区的话,在加入一个源表作为新的分区时,需要如下操作:
首先取得新加入的分区列的值,设为X;
通过sys.Partition_range_values和sys.partition_functions找到目标分区函数所有的边界值;
进行如下的检查:
在这里分界值属于左边分区还是右边分区是有区别的,我们假设属于左边分区;
如果X存在于2步的边界值集合中,那么恭喜你,不需做额外的操作;
如果X大于2步中最大的边界,你不仅需要为X分裂出一个分区,还要保证小于X的数据都有自己分区。
每次加入分区时检查已有的边界值,如果不等于其中的任何一个,则以X为参数split, 并删除目标表中分区列和X相同的数据。
像之前描述的步骤那样switch源表到目标分区中。
如果在2步的时候,目标分区已经存在数据,alter ...switch语句就会失败,原因是目标分区不为空。
可以理解为,switch操作是修改表的元数据,用新的分配单元替换原来的分配单元。如果原来的分配单元不为空,那么这次替换就会造成一些数据的丢失,从而破坏了数据的完整性,因此是不允许的。
标签:
分区表,alter-switch
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
岱庙资源网 Copyright www.zgmyg.com
暂无“对分区表进行alter-switch时遇到的错误”评论...
更新日志
2024年05月15日
2024年05月15日
- 崩坏星穹铁道2.2动作派挑战怎么解锁 动作派隐藏挑战攻略
- 刘以达.2012-希望之旅[香港][WAV整轨]
- 张国荣.2015-NEW精选XRCD【华星】【WAV+CUE】
- 松田圣子SeikoMatsuda《SEIKOJAZZ3》2024[24bit-WAV+CUE]
- 老任极其重视NS2保密工作 疑似为其代号又建了个代号
- 世嘉舅妈透露任天堂新项目代号 或为《塞尔达传说:荒野之息》新机增强版
- EA计划游戏内置广告 博主整活《使命召唤》“幽灵之死”插播广告
- 群星《柏林之声3》[WAV+CUE][654M]
- 张学友《4合一珍藏集》[FLAC][1.4G]
- 刘亮鹭《此情可待+江湖情+江湖笑》3CD合集[WAV+CUE][1.3G]
- 麦田守望者.1997-麦田守望者【红星生产社】【WAV+CUE】
- 陈蕾.2024-念【华纳】【FLAC分轨】
- 与非门.2010-10乐园【中唱】【WAV+CUE】
- 崩坏星穹铁道2.2枪火的试炼怎么解锁 枪火试炼隐藏挑战攻略
- 崩坏星穹铁道2.2时间的试炼怎么解锁 时间试炼隐藏挑战攻略