代码之家  ›  专栏  ›  技术社区  ›  El.Hum

SSIS不识别索引?

  •  3
  • El.Hum  · 技术社区  · 8 年前


    由A订购
    但是当我使用


    所以我知道它无法识别我的非聚集索引


    3 回复  |  直到 8 年前
        1
  •  5
  •   Nick.Mc    8 年前

    Order By A 在数据库中运行。

    使用排序组件时,排序在SSIS运行时中完成。请注意,用于提供给排序的查询中没有order by(我假设)

    它是在运行时完成的,因为它与数据源无关-您的源可以是excel、文本文件、内存数据集、多案例、透视或任何内容。

    我的建议是尽可能多地使用数据库。

    在SSIS包中使用排序的唯一原因是,如果您的源不支持排序(即平面文件),并且您希望在包中执行与其他内容的合并联接。这是一个非常罕见的特殊案例

        2
  •  4
  •   El.Hum    7 年前


    所以对于像这样的任务 Merge Join 需要一个 Sort component 在那之前,我试着使用 Lookup 完全缓存 选项并缓存整个数据,然后使用 ORDER BY Source component

        3
  •  2
  •   Community CDub    5 年前

    31 Days of SSIS – What The Sorts :

    是100行还是1000万行

    在右边的图像中,您可以看到,在1000万行全部收到之前,数据流中该点之后的数据无法处理。

    如果您考虑转换需要做什么,那么应该预料到这种行为。在发送第一行之前,需要检查最后一行以确保它不是第一行。

    对于小而窄的数据集,这不是一个问题。但是,如果您的数据集很大或很宽,您会发现其中包含排序的包存在性能问题。所有在内存中加载和排序的数据都会严重影响性能

    推荐文章