我想使用正则表达式替换CLR funcions来清洗SQL Server中的字段。然而,查询到永远运行。我想知道如果在SSIS使用脚本组件将是任何更快做同样的逻辑。
我从来没有见过一个DBA谁,让我加载组件到PROD服务器!但我肯定发现通过SSIS脚本组件是字符串操作,比使用CHARINDEX和SUBSTRING等通过SQL快得多。
SSIS可以执行编译后的.NET代码,以便它可以通过并行提供的代码是非阻塞的脚本任务运行在一个缓冲区中的所有记录。尝试,并尽可能多的行尽可能适合你的缓冲器通过最小化“宽度”数据流(托尔栏大小)。这可能意味着它的速度更快,只是把你的领域进行清理与主键和批量加载这些到一个新的空表。你总是可以内部连接这回你原来的表之后...
所以我很乐观地认为,SSIS能够充分执行。我肯定会运行一个快速测试作为脚本组件的C#代码的正则表达式几乎可以被提升,并直接从现有的CLR下降。