Selvom jeg er helt ny i C#, har jeg påtaget mig en lille opgave :-)
Jeg har en MS SQL database, hvor dem der har designet den, har lavet en date/time stamp felt, defineret so nvarchar(50)
Alle records har så denne date/time stamp, f.eks.
12/14/2005 10:11:59 AM.
Opgaven går ud på at slette alle records, ældre end en valgt dato. Jeg søger absolut ikke en færdig løsning, men bare den rigtige indgangsvinkel.
Skulle jeg lave det i et af de sprog jeg allerede kender, ville jeg:
Læse alle records i en tabel, én af gangen.
For hver record, vil jeg pille datoen ud af recordens nvarchar og bytte rundt, så der står 20051214 i et numerisk felt, i stedet for 12/14/2005.
Hvis recordens numeriske dato så er <= indtastningsdatoen vil jeg slette recorden.
Kan det laves mere optimalt? Der er et par millioner records i nogle af tabellerne og jeg forudser et performance issue, hvis jeg laver det på den måde jeg har skitseret.
Det er ikke et program der skal køres ret tit.
Indlæg senest redigeret d. 14.09.2009 10:32 af Bruger #9814