1

在此处输入图像描述

我正在创建一个临床数据仓库,所以我正在测试不同的场景。我正在将下表从 oracle DB(Attunity 连接器)加载到 SQL DB(OLE DB):

表1 1.2GB(300万行) 表2 20GB(2亿行) 表3 100GB(2.5亿行) 表4 25GB(6000万行)

对于我的初始负载,我打算使用 SSIS,只需从 TABLE1/TABLE2/TABLE3/TABLE4 中选择 *

问题 :

是否可以有多个数据流任务来将每个表加载到一个包中。让他们都一起跑。我只是想提高速度。但不知何故,它比我单独运行它要慢。

加载完整表格也是“从表格中选择*”的好方法吗?好像很慢!!

4

2 回答 2

3

您可以执行与您拥有的处理器内核数减一一样多的并行数据流任务。也就是说,如果您使用的是八核处理器,则理想的并行任务数是 7 (8 -1 )。只需将不同的序列容器放入其中(不是强制性的,但为了便于阅读)并执行。

DelayValidation=true您可以通过调整设置和使用等多项内容来加快数据加载速度OPTION ( FAST 10000(or any value,just do some trials)),还可以使用DefaultBufferSizeandDefaultBufferMaxRows直到找到正确的。此外,如果您打算运行并行 DFT ,请检查该MAXDOP值是否未设置为int 设置。1

而且,永远不要使用SELECT * from table_name. 列出列名,*会增加额外的开销,并且会大大减慢您的查询速度。

于 2018-08-01T05:18:09.163 回答
0

过程 1:使用 SSMA

您可以使用 SQL Server 迁移助手 (SSMA) 将数据从 Oracle 迁移到 Sql Server 数据库/架构/表。

这是微软用于数据库迁移的开源工具。

Microsoft SQL Server 迁移助手 (SSMA) 是一种工具,旨在自动将数据库从 Microsoft Access、DB2、MySQL、Oracle 和 SAP ASE 迁移到 SQL Server。

过程 2:使用 SSIS

您还可以使用 SQL Server Integration Services (SSIS) 包进行迁移。

从导入/导出向导创建 SSIS 包并将包运行到命令行中。

于 2018-08-01T11:38:40.513 回答