小编Mat*_*ell的帖子

如何在生产中拆分宽表?

由于一些不断变化的业务需求,我将需要在不久的将来拆分一个大表来支持新的业务需求,从而允许1<=>M从专为1<=>1关系设计的表中建立关系。

挑战在于该表相当大且持续使用。大约有 150 列和 5000 万行。

我正在考虑的方法如下:(该表名为“客户”)

  1. 创建两个新表(Customers_1 和 Customers_Many,表示新表结构。
  2. 根据需要复制所有数据。
  3. 创建一个视图,从Customers_1 和Customers_M 中选择完全复制Customers 表的视图。
  4. 创建一个触发器来处理视图上的插入/更新以更新父表。
  5. 更新外键以指向新表。
  6. 使用 sp_rename 交换表和视图。
  7. 在后续迭代中更改代码以指向新表,而不是视图。
  8. (最终)删除视图,删除旧表。

任何人都可以推荐这种方法的任何挑战、验证这种方法或提供不同的方法吗?

sql-server

5
推荐指数
1
解决办法
307
查看次数

标签 统计

sql-server ×1