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

Développement SQL Server Discussion :

Imbrication de vues


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Juin 2006
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 229
    Par défaut Imbrication de vues
    Bonjour,

    D'une manière générale, que pensez-vous de l'imbrication du vues sur plusieurs niveaux ?

    Certains disent que les perfs s'écroulent vite si on fait un appel de vue qui se base sur des vues qui se base sur une vue qui se base sur une vue qui se base sur une vue qui se base sur

    Il paraît qu'il ne faut pas hésiter à ne pas factoriser le SQL et à faire des requêtes balaises avec toutes les jointures et tous les filtres d'un coup.

    Merci pour vos réponses.

  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
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    D'une manière générale, que pensez-vous de l'imbrication du vues sur plusieurs niveaux ?
    Je les limites à deux niveaux. Comme on ne sait jamais à l'avance quelle vont être les plus solliclitées...
    Il paraît qu'il ne faut pas hésiter à ne pas factoriser le SQL et à faire des requêtes balaises avec toutes les jointures et tous les filtres d'un coup.
    Exact, mais du coup il faut tenter de "déplier" les tables dérivées...

    Tout ceci est bien entendu très relatifs et l'avantage de bonnes vues et leurs systématisation dépasse de loin les quelques inconvénients.
    A ce sujet sachez que Codd avait vu juste dès le départ...

    Lisez l'article que j'ai écrit sur les règles de COdd et notamment la règle n°6 :
    http://sqlpro.developpez.com/SGBDR/ReglesCodd/

    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/ * * * * *

  3. #3
    Membre expérimenté
    Inscrit en
    Juin 2006
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 229
    Par défaut
    Merci pour votre réponse.
    C'est grâce aux interventions de gens comme vous que je fréquente ce forum.

    Juste une précision, qu'entendez-vous par "déplier les tables dérivées" ?

    Merci

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Simplement les remettre en table dérivées et trouver d'éventuelles simplification.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT T1.*
    FROM   T1
           INNER JOIN (SELECT *
                       FROM   T2) AS TT
                 ON T1.C1 = TT.C2
    WHERE ...
    Trivial :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT T1.*
    FROM   T1
           INNER JOIN T2 
                 ON T1.C1 = T2.C2
    WHERE ...
    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/ * * * * *

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Par défaut
    Certains disent que les perfs s'écroulent vite si on fait un appel de vue qui se base sur des vues qui se base sur une vue qui se base sur une vue qui se base sur une vue qui se base sur
    En Normandie, j'ai travaillé sur un projet sous oracle, et j'avais eu la bonne idée de faire des vues en cascade sur 4 niveaux, les performances n'était pas au rendez vous et le dba m'avait aidé à réecrire ma requete dans une requete unique qui était bien plus performante.

Discussions similaires

  1. Développement de plug-in -> vue graphique!
    Par yassine_23 dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 01/04/2003, 18h04
  2. question (peut-être idiote) sur les vues
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/03/2003, 10h35
  3. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 15h51

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