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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top