нужна помощь по концепции пакета служб SSIS - PullRequest
0 голосов
/ 08 июня 2009

Когда данные копируются из источника в место назначения в пакете служб SSIS, причем источником является SQL-запрос с ключевыми словами «group by», а местом назначения является таблица, необходимо ли, чтобы данные в позиции строки соответствовали данным в той же позиции строки в таблице назначения ??

Сагар

Ответы [ 2 ]

1 голос
/ 09 июня 2009

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

Ты собираешься привести вещи в порядок? Это ORDER BY в ваших запросах или, возможно, вам следует создать стандартизированное представление, которое показывает вещи в нужном вам порядке.

1 голос
/ 09 июня 2009

Это вопрос производительности, правда. Таблицы не имеют логического порядка. Или, конечно, данные имеют физический порядок на диске, и ввод-вывод оказывает существенное влияние на производительность, поэтому наилучший подход будет зависеть от: а) того, как заполняется таблица (полное обновление или инкрементное обновление), и б) как таблица используется ниже по течению.

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

Если целевая таблица полностью заполняется каждый раз при запуске пакета (воссоздание или повторное создание пакета), это может быть хорошим дизайном, поскольку входящие данные, вероятно, будут в правильном порядке.

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

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