【发布时间】:2016-10-11 23:25:34
【问题描述】:
我正在使用 SQL Server 2008 和 BIDS。由于一些性能问题,我正在重新设计我当前的架构。目前,我有一个存储过程,其中包含许多 INSERT INTO SELECT 语句。在我的新架构中,我试图获得 SSIS 的插入性能(而不是 SSMS 中的 INSERT INTO)。因此,我的新存储过程仍将包含所有 SELECT 语句(只是在每个语句之前没有 INSERT INTO)。我将在 SSIS 中调用这个存储过程(提供一些 SELECT 所需的参数)。我的目标是让每个 SELECT 写入单独的平面文件。 (实际上,某些 SELECTS 组将写入单独的平面文件,因此我只有几个——而不是十亿个——平面文件连接管理器。)我知道如何在 SISS 中执行存储过程并让它编写一个多行设置为平面文件。但是,是否可以在 SSIS 中执行 1 个存储过程来将多个多行集写入多个平面文件?如果可以,怎么做?
【问题讨论】:
-
如果提高性能是您的主要目标,最好单独进行选择,使每个选择都成为其自己的数据流的来源。这样你就有了并行处理。但是,如果集中代码比性能更重要,那么可能有一些方法。
-
让每个 SELECT 成为其自己的数据流的源在开发时间上的成本太高,因为我有大约 500 个 SELECT 语句。
标签: sql-server ssis