Стратегии ETL: вставка идентификатора против использования логики идентификации
Один из моих ETL перемещает около 18 миллионов строк с одного сервера на другой для дальнейшей обработки. Я использую FAST LOAD
вариант.
Для столбца идентификации у меня есть два варианта:
- использование
IDENTITY INSERT
- Не устанавливайте какие-либо входные данные для столбца идентификаторов, что вынуждает SQL Server генерировать новый идентификатор для каждой вставленной строки.
Значение столбца Identity не имеет значения.
Какой вариант выбрать для лучшей производительности?
1 ответ
Решение
Исходя из того, что вы сказали нам, значение столбца идентификаторов не имеет значения, и у вас нет оснований для того, чтобы оно совпадало со значением исходной таблицы, я бы выбрал второй вариант. Там вы используете естественный метод установки значений идентификаторов в SQL Server, вы устраняете пробелы в значениях, и ключ будет возрастать в зависимости от порядка, который вы выбираете при их вставке.