lenteur des INSERT depuis fichier .SQL

Le
[ Olivier ]
Bonjour,

pour remplir une base, j'ai un fichier (.sql) avec beaucoup de INSERT
(~ 500 000 lignes) pour plusieurs tables.

je charge le fichier dans SQL manager et j'exécute la requête.

cela prends environ 30 minutes !

y a t'il une autre méthode qui permet d'aller plus vite ?

merci
olivier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romelard Fabrice [MVP]
Le #11884311
Bonjour,

Cela dépend essentiellement de la configuration de votre base de données et
des insert en question.
Vous devriez peut-être regarder une autre méthode que ces 500 000 insert, un
Bulk Insert par exemple.
- http://technet.microsoft.com/fr-fr/library/ms188365.aspx

--
Cordialement
Romelard Fabrice [MVP]

"[ Olivier ]" news:
Bonjour,

pour remplir une base, j'ai un fichier (.sql) avec beaucoup de INSERT
(~ 500 000 lignes) pour plusieurs tables.

je charge le fichier dans SQL manager et j'exécute la requête.

cela prends environ 30 minutes !

y a t'il une autre méthode qui permet d'aller plus vite ?

merci
olivier


Rudi Bruchez
Le #11884301
Bonjour,


[ Olivier ] a écrit:

pour remplir une base, j'ai un fichier (.sql) avec beaucoup de INSERT
(~ 500 000 lignes) pour plusieurs tables.

y a t'il une autre méthode qui permet d'aller plus vite ?




La méthode la plus rapide est de charger un fichier texte (csv) via
l'utilitaire bcp ou la commande BULK INSERT.

Si tu veux continuer à utiliser les INSERT, tu peux :
- lancer le fichier .sql avec l'utilitaire sqlcmd
- placer l'instruction SET NOCOUNT ON avant le batch
- surtout, supprimer ou désactiver tous les index, clés étrangères,
triggers, avant insertion, et les recréer/réactiver ensuite.

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT, MVP SQL Server
http://www.babaluga.com/
http://rudi.developpez.com/
Publicité
Poster une réponse
Anonyme