1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    mars 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mars 2012
    Messages : 18
    Points : 15
    Points
    15

    Par défaut Filtres dans les requêtes ou dans les rapports

    Bonjour à tous,

    Je fais tourner sous Webi de gros rapports qui prennent pour certains 40 min.

    J'aimerai savoir niveau performance s'il est mieux de mettre des filtres dans les requêtes ou dans les rapports ? Vaut-il mieux avoir peu de requêtes et plus de filtres dans les rapports ou avoir beaucoup de requêtes et peu de filtres dans les rapports ?

    Je vous remercie de vos réponses.

    aureliend8800

  2. #2
    Membre expérimenté
    Avatar de Julien59
    Profil pro
    Inscrit en
    mars 2008
    Messages
    1 142
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : mars 2008
    Messages : 1 142
    Points : 1 456
    Points
    1 456

    Par défaut

    Bonjour,

    Tout dépend du filtre qui est appliqué.
    En règle général, ce sont les filtres de requêtes qui sont les plus performants puisqu'ils filtrent les données en amont. Le document a donc moins de données à rapatrier.
    Il y'a néanmoins certains filtres de requêtes qui plombent les perfs : les in et not in (dansliste ; pas dansliste).
    Il vaut mieux dans certains de ces cas ne pas filtrer la requête et appliquer un filtre dans le document.

    Bon courage
    • Pensez à consulter la FAQ BO
    • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    mars 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mars 2012
    Messages : 18
    Points : 15
    Points
    15

    Par défaut

    Merci de ta réponse Julien59!
    Je vais suivre tes conseils et éviter les filtres lourds que tu m'as indiqué dans les requêtes!

    Encore merci!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    septembre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2011
    Messages : 20
    Points : 34
    Points
    34

    Par défaut

    Tout à fait, on pourrait penser qu'il faut rapatrier le moins de données possibles mais cela dépend vraiment des conditions. Ainsi si un filtre supplémentaire amène à faire une jointure avec une autre table sur un champ non indexé, cela peut être contre-productif. Cela m'est arrivé, j'ai dû analyser le SQL généré pour voir d'où venait le problème. Je suis passé de 10 minutes à 25 secondes en enlevant une des conditions, et je n'avais même pas besoin de rajouter un filtre dans le rapport, une simple fusion de dimension a suffi. Alors certes j'ai beaucoup de données inutiles, mais c'est beaucoup plus rapide.
    Il faut vraiment essayer au cas par cas 'et voir quand même le nombre de lignes ramenées, surtout s'il y a énormément de champs).

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

Discussions similaires

  1. Compter les Dates différentes dans une requête Access
    Par maxireus dans le forum Modélisation
    Réponses: 2
    Dernier message: 11/05/2007, 00h02
  2. [SQL] compter les éléments distincts dans une requête
    Par redwire dans le forum PHP & SGBD
    Réponses: 2
    Dernier message: 08/10/2006, 17h44
  3. exclure les lignes blanches dans une requêtes
    Par sam01 dans le forum Requêtes
    Réponses: 6
    Dernier message: 03/10/2006, 09h42
  4. Réponses: 4
    Dernier message: 21/07/2006, 14h48
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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