У меня есть ~ 2 миллиона строк или около того данных, каждая строка с искусственным PK и два поля Id (так: PK, ID1, ID2). У меня есть уникальное ограничение (и индекс) на ID1 + ID2.Самый эффективный способ поддержки «набора» в SQL Server 2008?
Я получаю два вида обновлений, оба с отдельным ID1 за обновление.
- 100-1000 ряды всех-новых данных (ID1 новый)
- 100-1000 ряды в значительной степени, но не обязательно полностью перекрывающихся данных (ID1 уже существует, может быть, новые пары ID1 + ID2)
Какой самый эффективный способ поддерживать этот «набор»? Вот варианты, как я их вижу:
- Удалить все строки с ID1, вставить все новые строки (Yikes)
- Запрос все существующие строки из набора новых данных ID1 + ID2, только вставить новые строки
- Вставьте все новые строки, игнорируют вставки, которые вызывают уникальные нарушения ограничений
Любые мысли?
какая версия SQL Server? –