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

Administration Oracle Discussion :

Requete dans shared pool


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut Requete dans shared pool
    Bonjour,

    Aujourd'hui je suis confronté a un problème de performance d'une requete passée sous forme de vue.
    En effet ça première execution prend beaucoup de temps (17sec) alors que la deuxième prend environ 2 sec.
    Mon sentiment est que oracle va taper dans son shared pool (à moins que ce soit le Database Buffer Cache) le deuxième passage ce qui permet d'accélerer le traitement.
    Pour résoudre mon problème j'ai tenté de mettre une materialized view mais la mise a jour en mode fast ne peut se faire sur une requete complexe. Ce qui est dommage car ma recherche fonctionne tres bien mais le refresh on commit est une cata.

    Ma question est donc la suivante:
    Est ce que je peux verifier dans mon shared pool (ou le Database Buffer Cache) au démarrage de mon application si ma requete y est ?
    Si elle n'est pas présente alors je peux de manière artificielle la lancer sachant que je suis sur un systeme a 420 users simultannés et que je ne compte pas le faire à chaque fois.

    J'ai pensé à cette solution mais peut être existe t il d'autres solutions auquel cas je suis également preneur

  2. #2
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    faites un set autotrace on pour valider mais il est probable que ce soit le buffer cache qui est en jeu

    ce que vous pouvez faire, c'est affecter un pool mémoire (recycle ou keep, ils sont exactement identiques) aux tables sous-jacentes à cette vue
    comme ça, les données resteront [quasiment] toujours dans ce buffer

    si vous êtes exigeants, vous pouvez également "pinner" ces tables pour les charger en buffer dès le démarrage de l'instance.

    http://download.oracle.com/docs/cd/B....htm#sthref540

Discussions similaires

  1. sql_id introuvable dans la shared pool
    Par tropiko dans le forum Oracle
    Réponses: 9
    Dernier message: 15/04/2013, 11h10
  2. Réponses: 5
    Dernier message: 04/11/2010, 19h10
  3. Resultat requete dans une seule colonne
    Par mathieu--g dans le forum Sybase
    Réponses: 2
    Dernier message: 08/07/2003, 13h42
  4. lenteur d'affichage de requete dans un DBGrid
    Par nico27 dans le forum InterBase
    Réponses: 9
    Dernier message: 23/06/2003, 13h54

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