Загрузка данных из медленного источника лучшие практики - PullRequest
0 голосов
/ 16 апреля 2020

Я ищу любые рекомендации по загрузке данных из источника, который сам по себе является медленным - либо из-за высокой нагрузки на сервер, из-за низкой пропускной способности или из-за чего-то еще - и где вы ничего не можете сделать с производительностью на источник, только на загрузку.

У меня есть источник данных, Pervasive PSQL Server 11.2 и таблица с 30M + записей. Я хочу извлечь данные только за последние два года. Все, что использует оператор WHERE, заставляет запрос выполняться более 60 минут без отправки каких-либо данных. Выполнение

SELECT * FROM [table];

работает, но дает мне более 10 лет данных, которые мне не нужны, и занимает так много времени, что я не могу запускать его каждую ночь. Установка AutoAdjustBufferSize в значение true повышает производительность, но этого недостаточно.

Столбец даты является столбцом типа данных DATE. Я попытался YEAR (столбец)> 2018 и попробовал МЕЖДУ и преобразовал первые четыре символа в INT, но ничто не ускорило время загрузки.

1 Ответ

0 голосов
/ 17 апреля 2020

В итоге мы сделали двухэтапное решение. Мы загружаем предыдущие годы в таблицы истории (возможно, однократная или годовая загрузка), затем загружаем текущий год еженедельно и загружаем предыдущий месяц + текущий месяц в ежедневную загрузку. Ограничение данных позволило значительно использовать операторы WHERE. И я думаю, что это был достаточно хороший шаблон загрузки данных для использования.

...