在sql中向生产表插入多行的最佳方法是什么

在sql中向生产表插入多行的最佳方法是什么,sql,tsql,sqltransaction,Sql,Tsql,Sqltransaction,我想知道将多行从源表插入目标表的最佳实践是什么源表和目标表都位于生产数据库上,这意味着删除或更新事务将全天候在表上执行。此外,目标表有一个自动递增列,这意味着如果执行回滚事务,回滚不会递减自动递增列-查找详细信息 看看批量插入。当然这是最好的方法。谁在乎序列中的间隔?你说的记录数是多少?你的方法有什么问题?如果您希望将源表到目标表的记录作为数据插入源时的一种选择,您是否考虑过(或需要考虑过)如果您希望将数据插入源中,那么您可以使用触发器。如果这里的问题是速度(我不太确定跳过行有什么问题)那么您是

我想知道将多行从源表插入目标表的最佳实践是什么源表和目标表都位于生产数据库上,这意味着删除或更新事务将全天候在表上执行。此外,目标表有一个自动递增列,这意味着如果执行回滚事务,回滚不会递减自动递增列-查找详细信息


看看批量插入。当然这是最好的方法。谁在乎序列中的间隔?你说的记录数是多少?你的方法有什么问题?如果您希望将
源表
目标表
的记录作为数据插入
时的一种选择,您是否考虑过(或需要考虑过)如果您希望将数据插入
中,那么您可以使用
触发器
。如果这里的问题是速度(我不太确定跳过行有什么问题)那么您是否考虑过将SWITCH TO statement ALTER TABLE[SOURCETABLE]切换到[DESTINATION TABLE]这一语句,因为它不会影响日志,所以它是在表之间传输数据的一种非常快速的方法。
BEGIN TRY 
    BEGIN TRANSACTION
    Insert (col1,col2,col3) into destinationTable
    select col1,col2,col3 from sourceTable
    COMMIT TRANSACTION
    PRINT 'TRANSACTION COMMITTED'
END TRY


BEGIN CATCH
      ROLLBACK TRANSACTION
      PRINT 'TRANSACTION ROLLED BACK'  
END CATCH