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]Procédure Stockée vs Requêtes dans le code


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut [Optimisation]Procédure Stockée vs Requêtes dans le code
    DB : Oracle 9iR2
    Machine : AIX (enfin je crois... j'ai pas accès à toutes les infos sur la DB)

    Bonjour,
    nous avons des grosses requetes (du style 2 à 300 lignes) qui mettent pas encore trop de temps à s'executer (800 ms à 1,2 secondes) et on voudrait savoir si on peut gagner encore un petit peu de temps

    En passant ces requetes dans des procédures stockée avec les parametres des clauses where en guise d'arguments (environ 5 arguments) pensez-vous que l'on puisse gagner en temps d'execution...
    La mise en cache des données se fera peut etre plus souvent ?

    On a deja résolu le problème du volume de données ramenées par les requetes, il nous reste encore le temps d'execution

    merci d 'avance

  2. #2
    En attente de confirmation mail
    Inscrit en
    Octobre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Il faudrait peut être regarder du coin des index....

    Enano

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    utilisez les bind variables (et donc les PreparedStatement dans votre code Java)

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ça me parait tenir plus du bricolage qu'autre chose que passer par des procédures stockées à la place du code SQL

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    oula que de réponses ....
    alors ...
    pour les indexs c'est deja fait , on est en train de faire des tests de montée en charge et on rajoute les indexs (ils sont quasi tous mis à plus de 95 %

    ensuite
    la question que je me pose : comme il y a une mise en cache des requetes et des données les plus demandées, si on passe par une proc stock avec des variables, est-ce qu'on a plus de chance de garder ces données en cache et donc d'accélérer les requetes ?

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    493
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 493
    Points : 605
    Points
    605
    Par défaut
    utilisez les bind variables (et donc les PreparedStatement dans votre code Java)

    ceci permet de garder le sql en mémoire (library cache) , tu évites ainsi un hard parse

    par contre si les valeurs des bind variables sont systématiquement les mêmes , tu pourrais peut être (à tester) gagner du temps avec des views voire des materialized views

    our rappel, un sql est toujours plus performant qu'un code procédural

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    ok, malheureusement mon client a choisi du VB6 donc ... pas de binds variables

    dans les variables on va dire que statistiquement ,
    4 vont changer 80 % du temps

    et ensuite les 3 ou 4 autres vont changer 5 % du temps ...

    donc bah je vais creuser un peu plus vers les proc stock, si j'arrive à avoir des résultats concluants je vous le fait savoir avec les chiffres à l'appui

    Merci encore

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

Discussions similaires

  1. [WD17] Erreur dans Procédure stockée et pas dans code de fenêtre
    Par Xsara 167 cv dans le forum WinDev
    Réponses: 3
    Dernier message: 02/10/2013, 10h14
  2. Optimisation Procédure stocké utilisant 2 curseurs
    Par m-mas dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/02/2007, 09h27
  3. procédures stockées ou requêtes directes
    Par JauB dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/11/2006, 11h04
  4. [SQL SVR 2K]Optimisation procédure stockée
    Par Franck2mars dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/06/2006, 13h41
  5. Procédures stockées ou requêtes SQL
    Par zoubidaman dans le forum Débuter
    Réponses: 2
    Dernier message: 18/08/2004, 02h36

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