1. 从文本文件中读取数据
在这一步中,SSIS建立了一个对源文件的连接并读取数据。记录读取的速度很大程度上依赖于SSIS的外部因素,如磁盘速度,I/O资源争夺,网络速度,以及计算机资源。
尽管这些因素对于SSIS应用来讲是外部的,还是需要了解他们是如何影响整体性能的。如果在这步中出现了性能瓶颈,你就需要考虑另外的方法了。例如,减少I/O资源争夺,将源文件分开,然后使用顺序读操作。
2. 将文本文件中的数据加载到SSIS 数据管道中
在这一步中,SSIS解析源文件,并读入名叫缓存的SSIS内存构造中。在设计时,通过收集象数据类型,排序,解析路由等元数据,SSIS建立了解析文件的规则。在运行时,文件根据这些规则被读取和解析。这些规则越精确,这一过程就越有效率。 3. 聚合数据
在这一步中,SSIS把已经读入SSIS数据管道中的数据进行了聚集。为了执行这一聚集,SSIS创建了一个缓存,你可以将此缓存设置成帮助提高性能,并且使SSIS利用的内存资源最大化。 4. 在SQL Server打开一个事务
在数据聚集完成后,一系列后续步骤使SSIS把聚集的数据读入到目标的SQL Server数据库表中。
从这点看,所有在SQL Server 中建立的帮助优化批量读取的最佳实践都会生效,例如设置数据库恢复模型,启动快速读取,使用表锁定,并且配置提交大小。 5. 将数据传递到SQL Server界面 6. 将数据读入每个SQL Server目的表 7. 提交事务
优化操作
对于这一序列中的每一步操作,你都可以使用性能分析,来指导你寻找优化和提升整个过程的机会。例如,在操作2种,当SSIS从文本文件中把数据读入数据管道时,所有的字段都被读成字符串类型,甚至当里面包含整数时也是。如果你的目的是使用已命名,确定类型的列将这一文件读入到的SQL Server目标数据表中,数据转换必须在数据读取的某个过程中就进行了。
为了减少数据集的大小,提升整体数据读取的性能,你可以在这一操作过程的早期就设置数据类型。在表1给出的例子中,对数据设置类型的最佳时间是操作2的过程中,当文件被读入到SSIS数据管道时。如果你不在这时设置数据类型,数据就将以其原始的字符串状态转过所有的步骤,直到它被读入SQL Server前才被完成了转换。
今后再调整文件解析,你也可以获得操作2中SSIS快速解析模型的好处。这一模型对包含一般数据格式的简单数据读取使用快速的解析路由,而并不需要特定的现场解析,这一格式不包含特殊的字符,也不包含十六进制字符。
数据类型优化并不仅仅适用于文件数据源。在SSIS数据读取过程的早期适当的设置数据类型,能够对所有的数据源都带来性能方面的好处。
这只是一个你可以优化数据读取操作的例子。你可以将这一方法在整个过程中的每一步都实施,你就可以为每个性能考量确定出更好的设计方法。
容量
容量是第二个关键,重要的性能影响因素。高级别的容量会对系统的资源,如内存和CPU产生更大的影响。你越是理解容量是怎样对你的数据操作产生影响的,你就越可以调整这些资源的应用,从而产生更有效率的操作。
文章来源于领测软件测试网 https://www.ltesting.net/