Подсчет обновлений / вставок в SSIS с использованием PGNP - PullRequest
0 голосов
/ 09 августа 2010

Я обновляю таблицу из другой таблицы в той же базе данных - как лучше всего сосчитать обновления / вставки?

Я могу придумать пару способов:

  1. Соедините таблицы и посчитайте (т. Е. Внутреннее объединение для обновления, левое объединение, где нулевое значение для вставок), затем выполните обновление / вставку

  2. Используйте дату изменения вцелевой таблицы (это поддерживается правильно) и сделать подсчет, где дата мода изменилась, это должно быть сделано после обновления, а также до и после вставки ... уверен, что вы поняли.

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

Что думают люди по этому поводу?(Я хотел пометить эту лучшую практику, но эта метка, похоже, исчезла).

РЕДАКТИРОВАНИЕ: Извините, мне следовало быть более конкретным в сценарии - предположим, только одно одновременное обновление (этодля обновления архива / хранилища в одночасье), а поставщик служб SSIS не возвращает количество обновленных строк.

1 Ответ

0 голосов
/ 09 августа 2010

Я бы, вероятно, продолжал использовать второй вариант.Если вы знаете, что работаете ежедневно (или любой другой регулярный интервал), вы можете просто протестировать все модификации (обновления и вставки) на основе значения datepart / day (в зависимости от интервала) в столбце метки времени.* Таким образом, вам не придется переписывать процедуру тестирования обновлений при изменении ваших вставок / соединений / других требований.

(Конечно, вы подвержены изменениям со стороны других агентов).

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

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