Bonjour,
je travaille dans une équipe de 6 personnes faisant le même type de développement.
Voilà ma question à laquelle nous ne trouvons (à 3) aucune réponse:
Nous avons tous la même configuration logicielle mais pour 2 de nos machines (même modèle d'une marque très connue) qui ne sont pas les mêmes que les 4 autres, la même requête va mettre 6 FOIS PLUS DE TEMPS !
Je ne souhaite aucun commentaire sur la façon d'insérer les données car je suis obligé de faire un insert par ligne:
ainsi, ce fichier contient un peu 39000 enregistrements.
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 SET NOCOUNT ON GO select getdate(); GO DELETE FROM TABLE; GO INSERT INTO TABLE(ID, ORDRE1,ORDRE2) VALUES(95816, 1, 1); GO INSERT INTO TABLE(ID, ORDRE1,ORDRE2) VALUES(95816, 1, 2); GO INSERT INTO TABLE(ID, ORDRE1,ORDRE2) VALUES(95817, 1, 1); GO .../... INSERT INTO TABLE(ID, ORDRE1,ORDRE2) VALUES(99695, 1, 2); GO select getdate();
Script lancé à l'aide d'un .bat contenant la commande: sqlcmd -S "%COMPUTERNAME%\SQLEXPRESS" -U "sa" -P "****" -d "DBNAME" -i "test_perf.sql" -o "test_perf.log"
Voici le résultat:
2' 55" ! Cette même opération sur les 4 autres machines prend moins de 30 secondes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ----------------------- 2011-01-27 09:50:57.830 ----------------------- 2011-01-27 09:53:52.470
et sur n'importe quelle table, qu'elle que soit le nombre de lignes à insérer, on a cette différence coeff 6.
Voici la config de ces machines Proc Xeon 2.4; 2,5Go Ram; Disque SAS 150Go@15Krpm
Les 4 autres machines ont des processeurs Core2Duo, quantité Ram identique ou supérieure et disque SATA
Si une personne a une idée lumineuse, nous sommes preneurs.
Merci, à bientôt, Laurent.
Partager