1.
Încearcă să identifici cauzele pentru care timpul de execuţie este mare. Foloseşte
SET STATISTICS IO pentru a identifica (pentru început) comenzile SQL generatoare de operaţii IO fizice *
physical reads. Ulterior, analizeză planul de execuţie pentru a identifica operatorii SQL care sunt
problematici(de cele mai multei ori): table scan, clustered index scan, hash join ...
2.
Scapă de cursor
3. Rescrie scriptul. O sugestie:
SELECT max(c)
FROM (
SELECT dt AS c, c1
FROM history
UNION ALL
SELECT lpd AS c, c1
FROM history
) u
SELECT MAX(CASE WHEN dt < lpd THEN lpd ELSE dt END)
FROM history