2012-06-19 46 views
1

我有一个需要在SQL Server中加载的平面文件。为此我必须使用SSIS。现在我想知道哪些事情可以帮助我以最快的方式加载这些文件:在ssis中加载平面文件的最快方法

  1. 我应该使用平面文件管理器还是脚本任务来加载平面文件? (,因为在我的question之一,我得到了一个答案,指出脚本任务加载速度更快
  2. 目标(ADO.NET或SQL Server)?
  3. 平面文件的任何其他设置/最佳实践,我可以用更快的方式加载文件?
+0

在我看来,这取决于游戏的结局。当我需要发送带有附加日志文件的通知邮件时,SSIS一直是我使用的一个很棒的工具。您能否向我们提供有关您要导入的数据类型的更多信息?大小?我经常使用Flat文件连接管理器,很少或没有问题。这是你需要重复的东西吗? –

+0

@Kris我从这些源代码平面文件创建一个仓库,所以一些包会消耗尺寸提要文件,它们的目标将是* char *或* varchar *。另一方面,事实馈送将有*数字*数据,在这种情况下,我需要进行数据类型转换。所以,我可能会有混合的情况。 – Zerotoinfinity

回答

1

我认为,为了实现你的目标,SSIS将是一个很好的选择。它允许更多的灵活性。至于使用平面文件管理器/脚本,脚本总是会给你更好的性能,但我使用SSIS,因为它使事情变得更容易导航(或修复)。我相信很多死硬的SQL开发人员会告诉你编写脚本,但我发现任何一种方法都可行。

就目的地而言,我专门使用SQL Server,所以我不能说你的问题的那部分。

在我看来,最佳实践尽可能地简单。越容易让事情得到更好的表现。在SSIS工作的3年中,我总是尽最大努力优化任何查询,然后将其放入SSIS中。

这听起来像你只是在这些文件上做一个简单的ETL,如果是这样的话,我推荐SSIS根据我的经验。一旦你加载了所有的东西,你可以修改你的char,varchar和int的不同情况的数据类型。

希望这会有所帮助!

1

以下是Microsoft如何使用SSIS在30分钟内加载1TB的参考。

当您说脚本执行速度更快时,我感到很惊讶,因为Microsoft使用平面文件来源和OLEDB目标。他们还通过将加载过程分解为更小的块并对目标表进行分区并使用非常好的调优硬件来优化负载。但是,如果我不得不从SSIS加载大型数据集,那么他们在SSIS包中使用的技术就是我会用到的。

(Microsoft) We Loaded 1TB in 30 Minutes with SSIS, and so can you

相关问题