Выполнение этого в хранимой процедуре будет намного быстрее.Мы делаем что-то очень похожее, только в таблице около 100 тыс. Элементов, она обновляется каждые пять минут и содержит намного больше полей.Наша работа занимает около двух минут, а затем она обновляет несколько таблиц в трех базах данных, поэтому ваша работа будет разумно занимать всего пару секунд.
Требуемый запрос будет выглядеть примерно так:
create procedure UpdateInstellingens as
insert into Instellingens (
INST_LOC_REF, INST_LOCNR, INST_REF, INST_TYPE, Opt_KalStandaard
)
select q.INST_LOC_REF, q.INST_LOCNR, q.INST_REF, q.INST_TYPE, cast(0 as bit)
from InstellingGeven q
left join Instellingens i
on q.INST_LOC_REF = i.INST_LOC_REF and q.INST_LOCNR = i.INST_LOCNR
and q.INST_REF = i.INST_REF and q.INST_TYPE = i.INST_TYPE
where i.INST_LOC_REF is null
Вы можете запустить процедуру из задания на сервере SQL, вообще не задействуя какое-либо приложение, или вы можете использовать ADO.NET для выполнения процедуры из своего таймера.