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 :

Conseil sur un traitement


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Par défaut Conseil sur un traitement
    Bonjour,

    Je voudrais quelques conseilles sur un traitement que je dois effectuer.

    un fichier Excel qui contient environ 5000 lignes doit être comite sur une table qui execute un trigger lourd (normalement quand j'ajoute une ligne le comite de la ligne dans la table qui execute le trigger dur environ 15-20 secondes) donc je me dis que l'insertion des 5000 lignes va être coton...

    Ainsi je voudrais savoir si le mieux était de faire un agent SQL server (job) qui execute automatiquement l'importation du fichier excel dans cette table qui executera donc le trigger... Est-ce exacte ?

    le problème est si le trigger dur 15-20secondes pour une ligne un comite de 5000 va le faire saturer...?

    Peut-on faire une exécution ligne par ligne en temporisant pour ne pas avoir de problème d'importation ?? Si oui comment faire ?

    Avez vous des tutoriels ou de la documentation pour Newbie sur les jobs ?
    car j'ai rien trouvé de tuto pour les jobs... En revanche j'ai trouvé pour le SSIS.

    Merci par avance pour vos réponses !

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    15-20 secondes, c'est beaucoup pour un trigger...
    La première chose à faire est de voir si vous ne pouvez vous en passer, au moins l'optimiser

    Faire ligne par ligne sera sûrement pire que mieux, d'ailleurs, il est possible (en fonction de ce qu'il fait) que votre trigger mette a peine plus de temps pour 5000 lignes que pour une seule... avez vous testé avec un echantillon (une centaine de ligne par exemple, pour voir le temps, et évaluer le comportement du trigger lors de l'insertion de plusieurs lignes en meme temps)

    Actuellement, comment (et par qui) est peuplée la table sur laquelle se trouve le trigger, et que fait le trigger (postez le code si vous le pouvez)

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 827
    Par défaut
    Bonjour,

    Je suis entièrement d'accord avec aieeeuuuuu.

    Votre trigger :

    - est peut-être mal codé
    - est peut-être optimisable
    - doit manquer d'index pour supporter le requêtes qu'il exécute.

    Donc, sans le code de celui-ci est la structure de la table à laquelle il est attaché, difficile de vous aider.

    @++

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Par défaut
    Je ne peux pas poster le code de celui-ci malheureusement

    Cependant, la table contient des règles (certaines règles sont plus spécifiques et d'autre plus générique) de génération de planning qui sont liées entre elles et qui s'autocompletent via le trigger pour générer un planning...

    Il faut environ 5000 règles pour générer le planning et à chaque fois que j'ajoute modifie ou supprime une règle, je dois vérifier mes autres règles et regarder les dépendances, etc.

    Cela permet d'éviter de la saisie redondante pour l'utilisateur. Et ça fait lui fait gagner des jours de saisies manuelles qui n'étaient pas très lucratives

    Le problème n'est pas l'ajout d'une règle mais de l'ajout au départ des 5000 règles pour avoir un planning de base dans la BDD

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Si votre TRIGGERest bien codé (de manière ensembliste et non par CURSOR par exemple).
    Il ne durera peut-être pas beaucoup plus avec 5000 lignes car celles-ci seront traité en une seule fois...

    Avez vous un plan d’exécution pour ce trigger?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Demande Conseils sur envoi vers serveur et traitement XML
    Par anthride dans le forum Silverlight
    Réponses: 1
    Dernier message: 15/11/2010, 17h49
  2. [MySQL] Conseil sur traitement des données
    Par Feng-Huang dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 07/01/2009, 12h16
  3. Conseil sur une bibliothèque de traitement d'image
    Par fumidu dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2006, 12h31
  4. [débutant] conseils sur contraintes et alter table
    Par maysa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2004, 09h03
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

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