Bonjour,

J'ai une requête paramétrée assez simple qui insére environ 300000 rows dans une table:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
INSERT INTO MaSimpleTable
	(DocumentID,OrgID,ParentOrgID,Sequence)
	VALUES (?,?,?,?)
La table MaSimpleTable n'a pas de contrainte, pas de clé primaire, elle a juste un index sur OrgID.
La DB est en mode "simple" sous SQL Server 2008 R2.

Que j'utilise l'api ODBC 3.0 ou l'api MSADO 6.0 en C/C++, la vitesse d'insertion est de l'ordre de 17 minutes pour les 300000 rows. Je trouve ça lent...

En utilisant l'api BCP (BulkCopy, client natif pour SQL Server, bcp_init(), bcp_sendrow(), bcp_batch(), bcp_done(), etc) j'obtiens des performances époustouflantes : 6 secondes à peine pour les mêmes 300000 rows.

D'où question: est-il normal que la requête paramétrée INSERT soit à ce point si lente ?
Merci