克隆分区表的存储过程

时间:2014-08-28 09:54:41

标签: sql sql-server tsql stored-procedures

我正在将一个非常大的(> 2000万行)表划分为逻辑分区表,这将导致较旧,较不频繁查看和更新​​的行被拆分为多个表。本质上是自动表分区的企业级功能的手动方法。

我们有两个表,产品和成本。目前,所有产品记录都将其成本记录在中央表中,从而产生数百万行。计划是将Cost分成多个表(Cost1,Cost2,Cost3,...)以减少每个表中的行数,并且每个Product记录将知道从哪个表中收集自己的成本。

目前,此表中的所有INSERT都是通过存储过程处理的(我们称之为“InsertCosts”)。在该过程中,当前引用了Cost表。

我们有两种选择:

  1. 我们是否在单个存储过程中编写了一些动态SQL,它将查看我们要插入的Product,并运行SQL Exec字符串来插入记录?存储过程长度超过500行,以增加其可能需要完成的工作量的复杂性。
  2. 或者 - 我们是否允许应用程序多次克隆存储过程,因此我们有InsertCosts1,InsertCosts2,InsertCosts3 ......这些都是固定的过程。
  3. 我的直觉表明我们应该选择选项2.然而,风险是否是一个可扩展的解决方案?我们可以相当容易地恢复到选项1,当涉及到创建克隆的存储过程时,这对我们来说也很简单。这样做我没有任何复杂性来减损答案。

0 个答案:

没有答案