Existe-t-il un moyen d'accélérer les insertions vers un mdb?Accélérer l'insertion mdb
using (StreamReader sr = new StreamReader(_localDir + "\\" + _filename))
while ((line = sr.ReadLine()) != null)
{
//sanitize the data
}
Cela prend environ 20sec pour ~ 2mil enregistrements d'une csv mais quand j'ajoute dans l'insert mdb Je peux à peine obtenir 10.000 enregistrements 10min, afin que vous puissiez voir que ça va prendre une éternité
using (StreamReader sr = new StreamReader(_localDir + "\\" + _filename))
while ((line = sr.ReadLine()) != null)
{
//sanitize the data
using (OleDbConnection con = new OleDbConnection(_conStr))
using (OleDbCommand cmd = new OleDbCommand())
cmd.Parameters.AddWithValue...//I have 22 params
cmd.ExecuteNonQuery();
}
Y a-t-il un meilleur moyen? Le pool de connexion? enfiler? Voici mes constr provider = Microsoft.Jet.OLEDB.4.0; Data Source = monchemin, Jet OLEDB: Moteur type = 5"
Cordialement
_Eric
Vous devez modifier votre logique d'insérer une ligne à la fois pour insérer le lot entier en une fois. Je ne sais pas C# donc je ne peux pas vous dire comment faire cela, mais cela me semble être la raison évidente pour laquelle il y a une différence entre votre code et l'importation CSV. Je dirais que votre meilleure approche est celle donnée par @Remou. –