从慢速源加载数据最佳实践

Loading data from a slow source best practices

我正在寻找从本身很慢的源加载数据时的任何最佳实践 - 无论是服务器上的高负载、低带宽还是其他原因 - 以及你无能为力的地方性能在源上,仅在加载上。

我有一个数据源,Pervasive PSQL Server 11.2,以及一个包含 30M+ 记录的 table。我只想提取最近两年的数据。使用 WHERE 语句的任何内容都会使查询 运行 持续 60 分钟以上而不发送任何数据。做一个

SELECT * FROM [table];

有效,但我得到了 10 多年不需要的数据,而且需要很长时间,我无法每晚 运行 它。将 AutoAdjustBufferSize 设置为 true 可以提高性能,但还远远不够。

日期列是 DATE 数据类型列。我尝试了 YEAR(column) > 2018 并尝试了 BETWEEN 并将前四个字符转换为 INT 但没有任何东西可以加快加载时间。

我们最终采用了两阶段解决方案。我们将前几年加载到历史表中(一次加载或每年加载一次),然后每周加载当前年份并每天加载前一个月+当前月份。限制数据使得使用 WHERE 语句成为可能。我认为这是一个足够好的数据加载模式。