【问题标题】:Performance moving data from Postgres to SQL Server via SSIS通过 SSIS 将数据从 Postgres 移动到 SQL Server 的性能
【发布时间】:2014-12-03 04:25:05
【问题描述】:

我需要针对 Postgres 数据源运行几个大型 SQL 查询。我在 SQL Server 2008 R2 上使用 SSIS 来移动数据。由于我们系统的设置方式,我必须通过 PuTTY 使用隧道并设置本地端口重定向。

在 SSIS 包中,我使用 ADO.NET 源和目标。我安装了 PostgreSQL 驱动程序,并且我们能够让 32 位版本正常工作。我的程序包运行,我正在获取数据,但数据转换任务运行缓慢……大约每秒 2,000 条记录。

有没有人有过使用静态查询访问 Postgres 并将结果转储到 SQL Server 的经验?任何提示/最佳做法?

【问题讨论】:

  • 对不起,我没有完整的答案。根据我的经验,这个速度可能是 SSH 隧道的结果。只需检查 postgresql 或 SQL Server 是否有压力,或机器上的磁盘。我建议看一下 putty 和 ssh 服务器使用的 CPU。现在只需收集这些信息并编辑帖子。最佳实践:取决于查询。如果您只需要传输数据,我建议将其转储到平面文件中并批量导入。

标签: sql sql-server performance postgresql ssis


【解决方案1】:

您应该尝试获取数据并将其存储在 ssis 原始文件中。 然后对原始文件数据进行转换和任何您喜欢的操作。 之后将其发送回 DB。

一般尽量不要多次调用数据库。

【讨论】:

  • 你的意思是让 postgres 转储出一个平面文件?
  • 没有。我的意思是你将有一个“OLE DB 源”从 Postgre 获取数据,然后是一个“原始文件目标”来存储本地数据。
  • 我得到“源有 ntext”字段...通过数据转换任务传递它们会减慢速度吗?
  • 即使它放慢了一点,也认为这是最好的方法。但我相信减速不会很明显。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-16
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多