SSIS性能中的存储过程与嵌入式SQL

Dav*_*ton 9 t-sql sql-server ssis stored-procedures

我最近完成了SSIS课程.

我带走的最佳实践之一是始终在SSIS中的数据流任务中使用存储过程.

我猜有一个关于安全性的争论,但是导师说,由于存储过程在SQL Server上执行了所有"本机"工作,因此存在显着的性能提升.

这个或那些辩论这一点的文章是否有任何道理?

谢谢

小智 5

请记住 - 大多数课程都是由无知的人完成的,因为有知识的人通过咨询赚钱,这比培训要好得多。大多数培训师都住在一个玻璃屋里,从来没有花 9 个月的时间在 21 TB 的数据仓库上工作;)

这是错误的。观点。

只有当 SQL 语句不从数据库中提取数据时才有意义 - 例如合并表等。

否则,问题在于您设置 SSIS 端的智能程度。SSIS 可以使用批量复制机制不使用 SQL 写入数据。SSIS 更加灵活,如果您从远程数据库中提取数据,那么不离开数据库(即处理本机)的论点是一个愚蠢的观点。当我将数据从 SQL Server A 复制到 SQL Server B 时,B 上的 SP 无法处理来自 A 本机的数据。

一般来说,只有当您从 A 获取数据并将其推送到 A 并且所有处理都可以在简单的 SP 中完成时才会更快 - 这是一种退化的边缘情况(即简单的情况)。

SSIS 的优点是在专为数据流设计的环境中处理数据的灵活性,这在许多情况下在项目中是需要的,而在存储过程中这样做会变成噩梦。

  • 确保您的拼写正确的一点努力大有帮助。 (2认同)