Al lavoro abbiamo hackerato una procedura memorizzata e abbiamo notato qualcosa.SQL Server è abbastanza intelligente da non AGGIORNARE se i valori sono uguali?
Per una delle nostre dichiarazioni di aggiornamento, abbiamo notato che se i valori sono gli stessi dei valori precedenti, abbiamo ottenuto un guadagno in termini di prestazioni.
Non dicevamo
UPDATE t1 SET A=5
in cui la colonna è stata già è stato pari a 5. Stavamo facendo qualcosa di simile:
UPDATE t1 SET A = Qty*4.3
In ogni caso, è SQL Server abbastanza intelligente da non fare lo operazione se i valori valutano allo stesso in un'operazione UPDATE o sto semplicemente venendo ingannato da altri fenomeni?
L'assenza di un disco write-to-è sicuramente un guadagno di prestazioni. – simon
Ottima analisi del problema, bnw – simon
Non penso che la scrittura su disco avvenga immediatamente. Penso che la domanda sia "la pagina viene contrassegnata come sporca" –