Лучшая практика для обновления данных за последние 3 месяца в очень большой таблице - PullRequest
0 голосов
/ 24 июня 2019

У меня есть 2 таблицы:

  1. Таблица истории A (10 миллиардов записей, некластеризованный столбец хранит индекс по всем столбцам, таблица разбивается на части каждые 6 месяцев)
  2. Промежуточная таблица B (2000 записей, без раздела)

Я хочу сравнить таблицу B с данными за последние 3 месяца из таблицы A, и если данные из таблицы A будут старше, я обновлю ихс данными из таблицы B.

Мой запрос на обновление выглядит следующим образом:

UPDATE COLUMN A=COLUMN B
FROM B 
JOIN A
WHERE DATE COLUMN B>DATE COLUMN A

Проблема в том, что этот запрос занимает 5 часов для обновления только 2000 записей.СОЕДИНЕНИЕ между таблицей A и таблицей B занимает слишком много времени.

Я много пытался изменить запрос (например, добавить некластеризованный индекс в столбце Date), но лучших результатов нет

Как улучшить производительность этого запроса на обновление?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...