更快地插入多个记录

时间:2013-05-11 06:20:18

标签: sql-server sql-server-2008

我正在使用SQL Server 2008.我的数据库有两个表。

会员

  • 成员Id
  • REGCODE
  • BrokerCode
  • 名称

TestInstallment

  • REGCODE
  • 金额
  • 日期
  • InstallmentNo

在两个表中都有很多列,但我在这里显示了一些列。 TestInstallment是我从Excel导入数据并进行一些计算的表。 Member表包含具有唯一RegCode的行,TestInstallment包含多个具有相同RegCode的行。例如,在member表格中只有一行RegCode 'A105',因此TestInstallment包含大约30行RegCode 'A105'

我的决赛桌是分期付款

  • InstallmentId
  • 成员Id
  • 金额
  • 日期
  • InstallmentNo

现在我想将TestInstallment行插入Installment并引用MemberId。目前我正在使用游标,但需要很长时间。

目前在我的数据库Member表中有大约47000行,TestInstallment有大约700000行。

那么我怎样才能更快地做到这一点?感谢。

1 个答案:

答案 0 :(得分:1)

我认为installmentid是身份字段。

insert into installment
select m.memberid, t.amount, t.date, t.installmentno,
from member m inner join testinstallment t on m.regcode = t.regcode