El.*_*Hum 4 sql database sql-server ssis dataflow
我在varchar列'A'上有一个非Clustered索引的表.
当我使用Order By A子句时,我可以看到它扫描索引并在几秒钟内给出结果.
但是当我使用SSIS的Sort Component作为列'A'时,我可以看到对记录进行排序需要几分钟.
所以我理解它无法识别我的非聚集索引
有没有人有任何想法使用SSIS索引但不使用查询而不是组件?
Order By A 在数据库中运行.
使用排序组件时,排序在SSIS运行时完成.请注意,用于提供给排序的查询中没有订单(我假设)
它在运行时完成,因为它与数据源无关 - 您的源可能是excel或文本文件或内存数据集或多重酶或数据透视图或任何东西.
我的建议是尽可能多地使用数据库.
在SSIS包中使用排序的唯一原因是,如果您的源不支持排序(即平面文件),并且您希望将包中的合并连接转换为其他内容.这是一个非常罕见和具体的案例
这些时候,我在研究和使用SSIS时发现,使用索引的唯一方法是连接到数据库。但是,当您在流中获取数据时,您所拥有的只是记录和数据。没有索引!
因此,对于诸如此类的任务Merge Join,Sort component在此之前,我尝试使用Lookup具有完全缓存选项的组件来代替。并缓存整个数据,然后ORDER BY在Source component 查询中使用
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |