由于一些不断变化的业务需求,我将需要在不久的将来拆分一个大表来支持新的业务需求,从而允许1<=>M从专为1<=>1关系设计的表中建立关系。
挑战在于该表相当大且持续使用。大约有 150 列和 5000 万行。
我正在考虑的方法如下:(该表名为“客户”)
- 创建两个新表(Customers_1 和 Customers_Many,表示新表结构。
- 根据需要复制所有数据。
- 创建一个视图,从Customers_1 和Customers_M 中选择完全复制Customers 表的视图。
- 创建一个触发器来处理视图上的插入/更新以更新父表。
- 更新外键以指向新表。
- 使用 sp_rename 交换表和视图。
- 在后续迭代中更改代码以指向新表,而不是视图。
- (最终)删除视图,删除旧表。
任何人都可以推荐这种方法的任何挑战、验证这种方法或提供不同的方法吗?