Составные индексы на таблицах фактов в хранилище данных - датамарт

Лучше ли хранить сложные уникальные индексы на таблицах фактов в Oracle EDW - data mart для избежания дубликатов? повлияет ли это на эффективность загрузки данных ETL? Просьба представить свои мысли по этой теме. Каковы другие альтернативные способы получения SLA для загрузки ETL?

1 ответ

Каждая вставка в таблицу с индексом приведет к обновлению индекса, вызывающему IO и замедляющему его. Таким образом, загрузка в таблицу с индексами будет уникальной или нет, будет немного медленнее. Вы можете удалить этот индекс, загрузить и снова создать его. Это уменьшит фрагментацию индекса и, как правило, будет быстрее при больших нагрузках.

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

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

licensed under cc by-sa 3.0 with attribution.