表重命名切换机制导致视图关联错误的解决方案咨询
表重命名切换机制导致视图关联错误的解决方案咨询
我有一张白天持续被高频使用的表 mdm.item_master,它每天需要重新加载一次数据,但加载过程耗时很长,还会产生锁阻塞业务操作。为了规避这些问题,我们采用了先加载到预交换表再通过重命名切换的方案:
我们准备了两张结构完全一致的表:
mdm.item_master:业务依赖的主表mdm.item_master_swap:用于预加载新数据的交换表
每天通过存储过程把新数据加载到 mdm.item_master_swap 后,执行以下三步重命名操作完成主表切换:
- 把
mdm.item_master重命名为mdm.item_master_temp - 把
mdm.item_master_swap重命名为mdm.item_master - 把
mdm.item_master_temp重命名为mdm.item_master_swap
这样就完成了主表与交换表的动态切换,但现在遇到了棘手的问题:所有关联到 mdm.item_master 的视图,在切换后会错误地关联到 mdm.item_master_swap。虽然第二天再次切换后视图会自动恢复正常,但每隔一天就会出现视图引用错误表的情况。
有没有什么改进方案可以避免这个问题?
备注:内容来源于stack exchange,提问作者Hambone
相关产品推荐
相关产品推荐

