Bonjour,
J’ai fait une application de test de performance de Linq To SQL afin de comparer sa rapidité avec une Dal « maison ».
Lors des résultats je constate une nette différence les deux. Tellement grande que je me demande si il n’y a pas quelque chose qui m’a échapper.
Voici le code pour évaluer la rapidité d’une suppression massive de 10000 entrées.
En résultat j’obtiens 8000 ms pour linq alors que la Dal « Maison » ne prend que 1500 ms.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Stopwatch _time = new Stopwatch(); DemoDataContext _dataContext = new DemoDataContext(); // Une requete pour prendre tout ce qui ce trouve dans la base. // mais dans une vrai application on trouvera une condition en plus bien sur. var requete = from eleve in _dataContext.eleves select eleve; _time.Start(); _dataContext.eleves.DeleteAllOnSubmit(requete); _dataContext.SubmitChanges(); _time.Stop(); Console.WriteLine("Temps pour supprimer en millisecondes:"); Console.WriteLine(_time.ElapsedMilliseconds); Console.ReadLine();
Les mêmes rapports se retrouvent lorsque j’effectue une création de 10000 entrées ou une mise à jour de 10000 entrées.
Y-a-t’il une autre manière de faire qui permettrai d’avoir de meilleurs résultat ?
Partager