La copia di grandi quantità di dati in un database SQL CE
-
23-08-2019 - |
Domanda
Se ho una grande quantità di dati in memoria, qual è il modo migliore per copiare in una tabella SQL CE? Lo stack tecnologia attuale è C #, ADO.net, e SQL CE.
La mia idea iniziale era di fare un'INSERT per ogni riga di dati, ma questo è in termini di tempo. C'è un modo più semplice?
Soluzione
La prima cosa che mi è venuta in mente è stato quello di eseguire una sincronizzazione / fondersi con un database desktop o server, anche se questo non suona come si adatta molto alle tue esigenze. Così qui è il mio secondo pensiero:
BULK INSERT table_name FROM data_file
Non sono sicuro se è supportato nella versione di SQL CE (anche se sembra essere supportato in 3.5 SP1 da quello che posso dire sulle pagine MSDN). http://msdn.microsoft.com/en-us/library/ms188365.aspx
Si potrebbe anche disabilitare gli indici sul tavolo durante l'inserimento dei dati per velocizzare le cose, quindi attivare / ricostruire l'indice, una volta che hai finito di inserire.
Altri suggerimenti
Steve Lasker ha un grande href="http://steve.lasker.members.winisp.net/Demos/SQLce35/SQLcePerformance.zip" provare le canzoni di questo con differenti metodi, ma il metodo migliore (di gran lunga) è SqlCeResultSet .
Ecco un post sul blog di Steve con alcuni buoni powerpoints su questo argomento.