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 :

Cas d'école Modélisation


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Cas d'école Modélisation
    Bonjour à tous,
    J'ai besoin d'un conseil de modélisation

    Une table Article :
    ART_ID
    ART_NOM
    ART_MARQUEID

    Une table mouvement
    MVT_ID
    MVT_ARTID
    MVT_QTE

    ou

    MVT_ID
    MVT_ARTID
    MVT_QTE
    MVT_MARQUEID

    Sachant que la table des mouvement contiendra 100 Millions d'enreg
    quel est le plus rapide?

    Select (sum mvt_qte) from MOUVEMENT
    where MVT_MARQUEID=XXXXX

    ou

    Select (sum mvt_qte)
    from MOUVEMENT
    join article on (ART_ID=MVT_ID and MVT_MARQUEID=XXXXX)

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Au niveau sturcutre et modélisation la meilleure table mouvement est :

    MVT_ID
    MVT_ARTID
    MVT_QTE

    En effet, il est inutile de reproduire des informations déjà contenu dans une autre table.

    Au niveau de ta requête, il faut que tu fasses des tests. Vu que ta table sera importante en volume, t'es-tu interrogé sur la possibilité de poser des indexs ? Les indexs utilisés correctement accélère la recherche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT (sum mvt_qte)
    from MOUVEMENT mouv,ARTICLE art
    WHERE art.ART_MARQUEID=XXXXX and mouv.ART_ID=art.ART_ID
    Bon courage pour la suite.

  3. #3
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Je suis d'accord la modelisation idelale est surement
    MVT_ID
    MVT_ARTID
    MVT_QTE

    Cependant je n'ai pas l'habitude de travailler avec Sql serveur et mon soucis principal est l'optimisation des temps de réponse alors je me pose des questions quitte a dupliquer des informations...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    As-tu essayer de poser des indexs ?

    As-tu effectuer des tests d'exécutions de requêtes ?
    Bon courage pour la suite.

Discussions similaires

  1. IO entrée sortie cas d'école [débutant]
    Par crazykangourou dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 14h24
  2. cas d'école - exclusion mutuelle
    Par zais_ethael dans le forum C
    Réponses: 5
    Dernier message: 01/12/2006, 08h14
  3. Sous requête et performance. Un cas d'école ?
    Par asaintleger dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/11/2006, 11h04
  4. [Tableaux] Retout chariot: cas d'école.
    Par cybertj dans le forum Langage
    Réponses: 14
    Dernier message: 11/10/2006, 00h06

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