Ho bisogno di aggiornare circa 250k righe su una tabella e ogni campo da aggiornare avrà un valore diverso a seconda della riga stessa (non calcolato in base all'id della riga o della chiave ma esternamente) .Modo più rapido per aggiornare 250k righe con SQL
Ho provato con una query parametrizzata ma risulta essere lenta (posso ancora provare con un parametro valore tabella, SqlDbType.Structured, in SQL Server 2008, ma mi piacerebbe avere un modo generale di fare su diversi database tra cui MySql, Oracle e Firebird).
facendo un enorme concat di aggiornamenti individuali, è anche lento (ma circa 2 volte più veloce di fare migliaia di chiamate individuali (andata e ritorno!) Utilizzando query parametrizzate)
Che sulla creazione di una tabella temporanea e l'esecuzione di un aggiornamento unendo la mia tavolo e il tmp? Funzionerà più velocemente?
si può dare un esempio di algoritmo che si utilizza per determinare come i dati con il cambiamento? Cerca tavoli? – Glennular
I dati da modificare provengono dall'esterno del db, non c'è modo di aggiornare usando altre tabelle – pablo
"Che ne dici di creare una tabella temporanea e di eseguire un aggiornamento che unisce la mia tabella e il tmp? Funzionerà più velocemente?" <- Penso che questo sia il modo migliore per ottenere prestazioni. se sono in un database diverso, prova a creare prima una tabella di staging, quindi aggiorna il join da quella tabella. – Hao