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:

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();
ainsi, ce fichier contient un peu 39000 enregistrements.

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:

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
2' 55" ! Cette même opération sur les 4 autres machines prend moins de 30 secondes.

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.