Влияют ли индексы на производительность загрузки в OWB?

Я часто размещаю данные в таблицах в моих OWB-сопоставлениях, потому что это повышает производительность, а не просто ждет, пока не закончится отображение, чтобы поместить данные в таблицу. Я поместил некоторые индексы в эти промежуточные таблицы, чтобы они совпадали с предложением WHERE в моих JOINER, чтобы попытаться ускорить процесс. Тем не менее, я стреляю себе в ногу? Будут ли индексы в этих промежуточных таблицах негативно влиять на производительность загрузки?

2 ответа

Решение

Ну, нет никаких правил по этому поводу, вы должны проверить это. Просто убедитесь, что отображение будет использовать созданные вами индексы и определять подсказки для исходных таблиц отображения. INSERT в этой таблице, безусловно, будет медленнее, но, возможно, SELECT будет намного быстрее, и у вас будет хороший конечный результат. Кроме того, если у вас небольшой набор записей, оставьте его без индексов и просто используйте USE_HASH.

Mina

Это полностью зависит от вашего сценария.

Теоретически наличие индексов отрицательно влияет на вставки. Но вы должны рассмотреть компромисс.

Например; если промежуточная таблица загружается только один раз в течение цикла ETL, и она читается несколько раз, и вы создали индексы, которые улучшают ваши выборки / объединения, вы наверняка получите преимущества от индексов.

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

Также статистика по индексам также должна быть проверена.

Другие вопросы по тегам