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

Optimisations SGBD Discussion :

Besoins de précisions sur certains points de l'optimisation


Sujet :

Optimisations SGBD

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Points : 157
    Points
    157
    Par défaut Besoins de précisions sur certains points de l'optimisation
    Bonjour,

    J'ai quelques questions vis-à-vis de l'optimisation et notamment sur l'article OPTIMISATION des SGBDR et du SQL de SqlPro.

    Évitez les jointures trop complexes en particulier sur plus de deux tables.
    1)Après normalisation comment peut-on effectuer des jointures sur au plus deux tables ?
    La normalisation décompose ces dernières en plusieurs plus petites tables imposant souvent des jointures entre facilement plus de deux tables...

    2)Il m'arrive de stocker l'état d'un message (envoyer,reçu,lu) pour se faire je stocke dans une table EtatMessage les trois etats précédents.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Etat(idEtat,idMessageFk); //Avec une contrainte Check pour être sur que la colonne ne contient uniquement un des trois etats - Type de la colonne Varchar(7)
    Est-il préférable d'enregistrer le nom de l'état le plus court possible ? Exemple : E,R,L (char (1)). Un deuxième exemple peut être celui du sexe : F,M.

    3)Je ne prend généralement pas la peine de normaliser les Prénom/Nom est-ce une grossière erreur ?

    Merci pour vos conseils

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 565
    Points
    52 565
    Billets dans le blog
    5
    Par défaut
    Vous n'avez pas compris... Il ne s'agit pas d’éviter plus de 2 tables dans la requête, mais plus de 2 tables dans la jointure ! (clause ON...)

    Soit, par exemple, trois table TB, TB et TC une requête comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM   TA
           INNER JOIN TB
                 ON TA.??? = TB.???
           INNER JOIN TC
                 ON TA.??? = TC.???
                 AND TB.!!! = TC.!!!
    Comporte bien 3 tables dans la jointure; Elle est impossible à optimiser; Avec 3 tables on les appelle jointure triangulaires... A lire : http://blog.developpez.com/elsuket/p..._triangulaires

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Besoin d'aide sur certains avertissements
    Par remixtech dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2008, 10h24
  2. Besoin de précision sur Regex
    Par Kyo-AzN dans le forum Langage
    Réponses: 4
    Dernier message: 25/02/2008, 16h56
  3. besoin d'aide sur un point dans la FAQ
    Par Jim_Nastiq dans le forum Delphi
    Réponses: 11
    Dernier message: 28/03/2007, 10h09
  4. [POO Basique] Besoin de précision sur une notion de base
    Par alois.cochard dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2006, 09h01
  5. Besoin de précision sur TThread
    Par psau dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/02/2005, 23h35

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