>Salve a tutti,
Ciao!
>ma impiega delle ore anche solo per elaborare qualche decina
>di migliaia di righe, qualcuno sa dirmi come ottimizzare (o riscrivere)
>il codide per migliorare le performance?
Evita di fare il ciclo e concentrati su una DELETE FROM JOIN e una UPDATE FROM JOIN.
Studia la SELECT che ricava i dati da cancellare (tutti) e gli stessi criteri usali per la DELETE. Lo stesso devi fare per la UPDATE.
La sintassi è:
DELETE FROM T1
FROM Tabella1 AS T1
JOIN Tabella2 AS T2 ON <criterio>
WHERE
<condizione>
lo stesso vale per la UPDATE:
UPDATE T1
SET <campo> = <valore|campo altra tabella>
FROM Tabella1 AS T1
JOIN Tabella2 AS T2 ON <criterio>
WHERE
<condizione>
I cicli non sono cose da far fare a SQL Server
Inoltre, per migliorare le performance, potresti vedere che piani di esecuzione ti vengono generati e, in caso di necessità, quali indici creare.
>Grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org