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

Requêtes et SQL. Discussion :

imbrication de tables dérivées et vitesse de calcul


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut imbrication de tables dérivées et vitesse de calcul
    Bonjour,
    Je cherche à diminuer au maximum les temps de calcul de mes requêtes.
    Ces requêtes fonctionnent de la manière suivante:
    d=f(a,b,c...) calculs de valeurs
    e=f(d) calculs de moyennes
    f=f(d,e) union des valeurs et des moyennes
    g=f(f) sélection des valeurs et des moyennes utiles à la réalisation d'un graphique
    g'=f(f) sélection des valeurs et des moyennes utiles à la réalisation d'un graphique

    Au final, les requêtes g, g', g'', g'''... servent de base à des graphiques dépendants dans le formulaire de saisie de variables dans les tables a et b.
    http://www.developpez.net/forums/att...ph_ellen3.jpg/
    J'ai remarqué que le temps d'affichage des graphiques semble ralenti par le découpage en différentes requêtes de toute cette procédure et par le fait que d,e et f concentrent l'ensemble des données utiles à g,g',g''....
    Or il y a une bonne dizaine de graphes à afficher sur ce formulaire avec ce même type de procédure... cela peut être assez long à actualiser!
    J'ai donc idée d'imbriquer des tables dérivées dans une requête par graphes (ne contenant que les champs nécessaires) afin de diminuer les vitesses de calcul.
    Est-ce judicieux?

    PS: J'ai quelques soucis quant à l'imbrication multiple de ces tables dérivées en série, alors je préfère me renseigner sur leur utilité avant de me lancer à corps perdu dans les codes.

    Merci d'avance,
    Tino

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    salut,
    et si au lieu de faire appel à des requêtes pour alimenter tes requêtes, tu mettais les résultats intermédiaires dans une (des) table(s) tempo. Les requêtes suivantes se basant sur ces tables tempo par la suite. Ca devrait diminuer ton temps de calcul il me semble...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    et si au lieu de faire appel à des requêtes pour alimenter tes requêtes, tu mettais les résultats intermédiaires dans une (des) table(s) tempo
    je pense que l'on est d'accord,
    ce que tu appelles tables tempo est je pense la même chose que ce que je nome table dérivée dans mon message (désigné comme tel par Chtulus: voir lien ci-dessous)
    http://www.developpez.net/forums/d56...iscretisation/

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    non en fait moi je décomposerai en plusieurs requête lancée les unes à la suite des autres :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... INTO Table2 FROM Table1;

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ... INTO Table3 FROM Table2;

    etc.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    non en fait moi je décomposerai en plusieurs requête lancée les unes à la suite des autres :
    tu penses que les temps de calculs seraient plus rapides?
    Pourtant mes requêtes initiales étaient de ce type là et les quelques essais que j'ai fait de requêtes avec tables dérivées me semblent nettement plus rapides, à moins que celà soit le fait d'avoir aussi découpé ces tables dérivées d, e, f en d, d'..., e, e'...f, f'...lors de leur réalisation (en ne gardant que les champs concernés)?

    En tout cas, le code SQL s'en retrouve assez complexe, cependant cela évite la multitude de requêtes affichées dans la base. Mais en temps de calcul? J'ai modifié plusieurs paramètres à la fois, alors?

Discussions similaires

  1. BO5 table dérivée
    Par n.roussaly dans le forum Designer
    Réponses: 9
    Dernier message: 28/01/2009, 16h02
  2. Réponses: 6
    Dernier message: 09/11/2007, 19h33
  3. Ajout un ID dans une Table dérivée
    Par ecayuno dans le forum Langage SQL
    Réponses: 1
    Dernier message: 14/12/2006, 13h09
  4. Réponses: 6
    Dernier message: 04/07/2006, 11h56
  5. Procédure pour remplir table et sa table dérivée
    Par C_C dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/12/2005, 20h41

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