IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Optimisation insertion de données


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Optimisation insertion de données
    Bonjour,
    je cherche à optimiser mes temps de chargement de données à partir de fichiers plat dans ma base de données SQL Server 2005

    J'ai testé pour l'instant bcp et bulk insert sans grand succès... que me conseillez vous pour améliorer mes temps d'insertion?

    J'ai pensé qu'il pourrait être utile de fixer la taille d'une table avant de commencer les insertions ça éviterait un redimensionnement continuel... mais est ce possible ? (je connais avant d'insérer le nombre exact de tuples à traiter et il se compte a chaque fois en plusieurs millions d'enregistrements)

    Merci de votre aide

  2. #2
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Salut Brice,

    Je pense que le bulk insert est la manière la plus rapide de charger un fichier.
    Cependant, si tu n'as pas besoin de toutes les informations contenues dans ce fichier, une bonne solution serait peut être de créer un DTS qui te permet de choisir quels champs tu desire uploader.

    En effet, je ne connais pas la structure de ton fichier ni tes besoins, mais imaginons que tu n'aies besoin que de 5 colonnes sur les 30 que contienne ton fichier, il est peut etre préférable de ne charger que celles la, surtout si ton fichier contient des millions d'entrées...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Malheureusement non ...
    il sagit d'nformations qui doivent être chargées quotidiennement (d'où le grand besoin de rapidité) et dont les tables font parfois juqu'à 100 champs mais aucun ne doit être oublié!

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    si tu peux te le permettre, il peut être efficace de supprimer les index de la table (surtout s'il y en a bcp) et puis les recréer après la fin de traitement ...

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Tu peux également gagner du temps en committant un jeu d'insertions plus petit que le nombre de lignes de ton fichier avec l'option ROWS_PER_BATCH de la commande BULK_INSERT

  6. #6
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Assure-toi également que les contraintes ne sont pas vérifiées à l'import, ce qui devrait normalement être le cas par défaut : http://msdn2.microsoft.com/fr-fr/library/ms186247.aspx

Discussions similaires

  1. [MySQL] methode optimisée d'insertion de données
    Par redoran dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 04/04/2012, 11h35
  2. Réponses: 1
    Dernier message: 21/04/2011, 20h45
  3. Optimisation du temps d'insertion de données
    Par pimousse9 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/09/2007, 18h31
  4. optimisation d'insert de données
    Par barabas123 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 28/08/2007, 16h19
  5. Réponses: 4
    Dernier message: 09/07/2007, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo