我正试图优化存储过程我维护,并且想知道是否任何人都可以告诉我以下选项的性能好处/惩罚。对于我的解决方案,我基本上需要对存储在表格IMAGE列中的图像运行转换程序。转换过程位于外部.EXE文件中。这里是我的选择:SQL游标存储过程与使用UDF查询
目标表的结果拉入一个临时表中,然后使用游标去在每个行中的表和运行image列的存储过程。存储的proc呼叫到.EXE。
创建一个调用.EXE文件的UDF,并运行类似于“从TargetTable中选择UDFNAME(Image_Col)”的SQL查询。
我想我正在寻找的是一个想法,多少开销将被添加创建的游标,而不是做一个集?
一些额外的信息:
- 在这种情况下,集合的大小为最大。 1000
- 正如下面的答案所提到的,如果以UDF集合的形式完成,这是否意味着外部程序一次会全部打开1000次?还是有优化到位?显然,在多处理器系统上,运行多个进程实例可能并不是一件坏事,但1000可能有点多。