触发器插入大量数据

时间:2017-08-25 16:43:45

标签: sql sql-server sql-server-2014

我有一个触发器,表上的每个新插入都会在另一个名为AUDLOG的表中插入一些信息。 SQL非常简单:

INSERT AUDLOG( ID,f1,f2,f3,f4,f5,f6,f7 )
(
  SELECT
  ID,
  0,
  0,
  0,
  GETDATE(),
  0,
  CAST( SYSTEM_USER AS VARCHAR(50) ), 
  'INSERTED',
  FROM INSERTED
)

问题是有时我必须立即进行大量插入(大约350k新行),这会变得很慢并锁定我的整个数据库。
我试着用光标或者10k的批量做这个触发器。
对此最好的策略是什么?重点不应该是冻结数据库和性能,如果可能的话,两者同时冻结。

0 个答案:

没有答案