Vi kan se i de aktive forespørgsler på SQL Server, at synchronize to udfører en select * from gigabytesofdata, som tager meget lang tid, mens en tilsvarende (native) merge-sætning er færdig på et par sekunder.
Vi har en staging-tabel (lidt data) og en mål-tabel (en tabel på 55 GB på disk).
Sætningen:
synchronize gigabytesofdata
from stagingtable
with update or insert
identified
by kolommen, uit, de, primary, key
I de aktive forespørgsler kan vi se, mens denne sætning kører:
select * from gigabytesofdata
Og det havde vi ikke forventet (og det tager naturligvis også meget lang tid).
Forventningen er, at synkroniseringen kun kigger på dataene i staging-tabellen, hvor records bliver indsat i gigabytesofdata, hvis der ikke allerede findes records med de pågældende nøglekolonner, og ellers bliver opdateret.
Gør vi noget forkert (og i givet fald, kan I forklare hvad?), eller er dette et scenarie, som synchronize-sætningen ikke håndterer korrekt? Denne synchronize-sætning virker nemlig ud fra beskrivelsen til at være præcis det, vi har brug for!