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 :

Temps d'execution de la requête


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 34
    Par défaut Temps d'execution de la requête
    Bonjour,

    Je dois récupérer le temps écoulé depuis le debut de l'heure courante. C'est à dire que :
    - si il est 12H45. Je doit renvoyer 45mn soit en heure 0.75
    - si il est 12H30. Je doit renvoyer 45mn soit en heure 0.5.
    - si il est 12H38......

    Ma requete est donc la suivante :
    SELECT ((SYSDATE - TO_DATE(TO_CHAR(SYSDATE,'DD/MM/YYY HH24'),'DD/MM/YYY HH24'))*24) FROM DUAL

    Cette requete est dans une forme 10g et semble ralentir le systême.
    Est-il possible d'optimiser cette requete? Si oui comment ?

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Bonjour,

    Connais-tu la fréquence à laquelle cette requête est exécutée ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Si j'ai bien compris, une approximation peut être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT TO_CHAR(SYSDATE,'MI')/60
    FROM dual
    Par contre, j'ai un doute que ta requête soit à l'origine de la surcharge système... A moins quelle soit exécutée ttes les 5ms

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SYSDATE - TRUNC(SYSDATE, 'HH24')
    FROM dual

  5. #5
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Citation Envoyé par McM
    ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SYSDATE - TRUNC(SYSDATE, 'HH24')
    FROM dual
    Si on veut jouer les puristes, cette dernière requête n'est pas consistente car elle fait appel deux fois à SYSDATE qui peut être de valeur différente...
    Il faut préférer une requête avec un unique appel à SYSDATE...

    Cela ne portera pas, de toute manière, à conséquence ...

    A+

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par cquilgars
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT TO_CHAR(SYSDATE,'MI')/60
    FROM dual
    Si on veut jouer les puristes à fond, tu divises un CHAR par un nombre.

Discussions similaires

  1. Recuperer le temps d'execution d'une requête
    Par chris0938 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 24/06/2010, 16h10
  2. Temps d'execution d'une requête
    Par chris_013 dans le forum PL/SQL
    Réponses: 6
    Dernier message: 10/12/2008, 08h53
  3. Temps d'execution d'une requête
    Par T-nia dans le forum Requêtes
    Réponses: 7
    Dernier message: 29/06/2008, 15h57
  4. Réponses: 1
    Dernier message: 25/06/2007, 09h35
  5. Temps d'execution d'une requête
    Par Maglight dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/01/2005, 08h38

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