Per le prestazioni quale opzione sarebbe meglio per i set di dati di grandi dimensioni che devono essere aggiornati?CASE vs più query UPDATE per set di dati di grandi dimensioni - Prestazioni
Utilizzo di un'istruzione CASE o di singole query di aggiornamento?
CASO Esempio:
UPDATE tbl_name SET field_name =
CASE
WHEN condition_1 THEN 'Blah'
WHEN condition_2 THEN 'Foo'
WHEN condition_x THEN 123
ELSE 'bar'
END AS value
individuale Query Esempio:
UPDATE tbl_name SET field_name = 'Blah' WHERE field_name = condition_1
UPDATE tbl_name SET field_name = 'Foo' WHERE field_name = condition_2
UPDATE tbl_name SET field_name = 123 WHERE field_name = condition_x
UPDATE tbl_name SET field_name = 'bar' WHERE field_name = condition_y
NOTA: Circa 300.000 record stanno per essere aggiornato e l'istruzione CASE avrebbe circa 10.000 quando le condizioni. Se si utilizzano le singole query, è pari a circa 10.000
"Se si utilizzano le singole query sono circa 10.000" - forse un tavolo temporaneo unito sarebbe un'idea migliore .... –
+1 Mitch ... non ha notato lo scope quando ho scritto la mia risposta. In linea di principio, "CASE" sarà più efficiente ma forse non in quella scala. – JNK
Interessante Non avevo pensato a questo approccio, grazie –