【问题标题】:ssis ado.net/oledb performance against oracle makes no sensessis ado.net/oledb 针对 oracle 的性能没有意义
【发布时间】:2021-04-30 19:46:12
【问题描述】:

我正在使用 vs 2017 企业版进行开发,并使用内部 Azure 运行时环境来运行 ssis 包。我正在读取约 150 万行的 oracle 表并写入 MS Sql DAN 数据库。谁能解释我在下面描述的性能特征? OLEDB Oracle 驱动程序似乎非常高效,但它与 OLEDB SSIS 任务一起运行非常糟糕。以下是运行时特性:

  • 使用 Oracle Ado.net 驱动程序的 ADO.net 任务:ms sql 表需要大约 32 分钟才能加载
  • 使用 Oracle OLEDB 驱动程序的 ADO.net 任务:ms sql 表需要大约 5 分钟才能加载(获胜者)
  • 带有 Oracle OLEDB 驱动程序的 OLEDB 任务:ms sql 表需要大约 20 分钟才能加载

【问题讨论】:

  • 更多输入。前 2 个测试有 Unicode 覆盖。 OLEDB 任务和 OLEDB 驱动程序没有要求任何数据转换。我对我的环境中的这些运行时间很有信心,我对性能只是 ssis 而不是缓慢的 oracle db 或网络速度下降有一定的信心。

标签: performance ssis oledb ado


【解决方案1】:

好的,我想我想通了。我一直认为 MS Sql 写入方面是理所当然的,但是在我的环境中,您可以在 MS Sql 的 OLEDB 目标任务中指定两个驱动程序 SQLOLEDB.1 和 SQLNCLI11.1 。 5 分钟内写入的工作是使用 SQLOLEDB.1 写入 MS Sql。第三个需要约 20 分钟的作业是使用 SQLNCLI11.1 。具有讽刺意味的是,SQLOLEDB.1 较旧,许多组织正在弃用它,尽管它更快。我很快就能证明我的怀疑,并将报告最终结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    相关资源
    最近更新 更多