相关疑难解决方法(0)

SSIS 数据流数据访问模式 - “表或视图”与快速加载的重点是什么?

使用 SQL Server Business Intelligence Development Studio,我对 OLE DB 目标数据流执行了大量平面文件,以将数据导入到我的 SQL Server 表中。在 OLE DB 目标编辑器中的“数据访问模式”下,它默认为“表或视图”而不是“表或视图 - 快速加载”。有什么不同; 我能感觉到的唯一明显区别是快速加载传输数据的速度要快得多。

ssis

9
推荐指数
2
解决办法
2万
查看次数

如何以有效的方式在 sql server 表中插入/更新数百万行?

通常在我的工作中,我必须在 SQL Server 中创建一个过程,该过程将处理数百万数据行,将它们保存到临时表(临时表)中,最后将它们保存到数据库中的一个或多个表中。

我不是在寻找替代解决方案,例如 SSIS。

我无法禁用索引、约束、使数据库脱机、更改恢复模式等。

我们一直在寻找将这个过程设置为在系统不那么繁忙时运行的方法,但我们在 24/7/365 在线零售商环境中工作。

有一个非常相似的问题: Performance Inserting and Updating Millions of rows into a table

这个问题也很重要: 插入大量行的最快方法是什么?

例子一:

CREATE PROCEDURE [dbo].[udpstaging_page_import_fromFilter]
      @sourceDesc nvarchar(50) -- e.g. 'Coremetrics'
      ,@feedDesc nvarchar(50) -- e.g. 'Daily Exports'
      ,@process_job_task_logID bigint
AS BEGIN


      SET NOCOUNT ON;
      BEGIN TRY


            --truncate table prior INSERT
            exec dbo.udpstaging_page_truncateTable;

            declare @source_feedID int;
            exec crm_admin.dbo.udpsource_feedID_select @sourceDesc
                  ,@feedDesc
                  ,@source_feedID = @source_feedID OUTPUT;


            -- drop temp tables
            if exists (select * from tempdb.dbo.sysobjects o where o.xtype in ('U') and …
Run Code Online (Sandbox Code Playgroud)

performance sql-server insert update sql-server-2014 query-performance

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