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

Oracle Discussion :

[Optimisation] instruction decode, SUM, * / + -...


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 58
    Points : 52
    Points
    52
    Par défaut [Optimisation] instruction decode, SUM, * / + -...
    Bonjour,

    J'ai des requêtes assez impossantes et des tables contenant plusieurs millions d'enregistrements. J'ai besoin de faire quelques traitements sur les valeurs se trouvant dans la base de données (Oracle) avant de las afficher.
    Actuellement, tous les traitements sont gérés au niveau de la requête SQL avec des decode, et autre opérateur arithmétiques.

    Typiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT 
    A.F1, 
    decode(A.F0, 3, A.F2 || '/' || A.F1 || ' ' || A.F3 || '+' || D.F1, A.F4 || '/' || A.F1 || ' ' || A.F5 || '+' || E.F1), 
    A.F0, 
    A.F2,  
    SUM (C.F1 * B.F1 / B2.F1),  
    SUM (C.F2 * B.F1 / B2.F1)
    Ou vaut mieux t-il pas que je selectionne seulement les champs dont j'ai besoin, et je fais les opérations au niveau de mon programme (Java) avant de retourner mon résultat ?
    Je ne connaît pas trop le coût en performance le fait d'utiliser le decode et autres opérateurs arithmétiques.

    Merci.

    --
    Bicnic.

  2. #2
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Je pense que des SUM etc sont mieux dans ta requete que dans ton programme Java cela limite efficace le traffic de donnée.

    Dans ce cas Oracle fait tout ca en interne et on peu espere qu'il soit un minimun optimisé.

    Sinon tu vas devoir fetcher des tas de ligne pour rien avec tout les lenteurs (SQL*Net,...) que cela peut ajouter.

Discussions similaires

  1. Utilisation de l'instruction DECODE avec Forms 9i
    Par labolabs dans le forum Forms
    Réponses: 2
    Dernier message: 05/08/2009, 16h15
  2. [oracle 9i] optimiser fonction decode
    Par Herveg dans le forum Sql*Plus
    Réponses: 3
    Dernier message: 07/04/2009, 14h54
  3. Optimisation de requête decode not in decode
    Par Kiroukool dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/09/2007, 11h10
  4. Réponses: 5
    Dernier message: 20/08/2006, 02h55

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