Удаление индексов перед массовой загрузкой на сервере SQL с темпоральными таблицами? - PullRequest
0 голосов
/ 16 июня 2020

Я работаю на SQL Server 2017 и пытаюсь использовать темпоральные таблицы, чтобы отслеживать исторические изменения моих данных. Я никогда раньше не использовал темпоральные таблицы, но в прошлом я создал множество процессов ETL с традиционными таблицами и пытаюсь понять, как оптимизировать загрузку данных в конечную таблицу. Традиционно, когда я пишу свой ETL (когда я говорю традиционно, я имею в виду, когда я не использую темпоральные таблицы), для повышения производительности я обычно отбрасываю все индексы в своих таблицах, а затем массово загружаю около 10 миллионов записей, которые у меня есть в итоговую таблицу, и когда загрузка завершится, я повторно применяю индексы к таблице.

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

1 Ответ

0 голосов
/ 16 июня 2020

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

Темпоральная таблица полезна для определенных сценариев ios, но я не использую их в процессах ETL. Возможно, лучше проверить индексы хранилища столбцов . Если вы создаете таблицу истории с индексом хранилища столбцов, вы можете выбрать архивное сжатие. Затем вставляет только новые 10 миллионов с batch ID. Объем данных будет довольно небольшим.

Конечно, если вам нужно часто запрашивать таблицу истории и использовать system-versioning специальный синтаксис, использование хранилища столбцов может снизить производительность.

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