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

Я читаю из SQL Server 2008 R2

0
Jayasurya Satheesh 15 Ноя 2017 в 14:25

1 ответ

Лучший ответ

1) использование преобразования поиска - один из эффективных способов объединения записей

Бывший: введите здесь описание изображения

2) Используйте процедуры слияния

Пример:

MERGE [dbo].[Value] AS TARGET
         USING [dbo].[view_Value] AS SOURCE 
        ON ( 
            TARGET.[Col1] = SOURCE.[col1]  

            )

     WHEN MATCHED 
     THEN
     UPDATE SET
     TARGET.[col3] = SOURCE.[col3]
     TARGET.[col2] = SOURCE.[col2] 

    WHEN NOT MATCHED BY TARGET THEN 
    INSERT ([col1], [col2], [col3]  )
    VALUES (SOURCE.[col1], SOURCE.[col2], SOURCE.[col3]  )
2
Ven 15 Ноя 2017 в 12:01