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 :

[9i] Explain_Plan avec time en 9i


Sujet :

Oracle

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut [9i] Explain_Plan avec time en 9i
    Bonjour,
    je souhaiterais faire des estimations de temps sur des requêtes en utilisant explain_plan.

    J'ai déjà effectué de telles opérations en Oracle 10g et le champ Time de la table PLAN_TABLE était mis à jour.

    En 9i ce champ n'est pas mis à jour. Je n'ai pas de message d'erreur particulier.

    Est-il possible d'obtenir une valeur de time en version 9i ?
    Y a-t-il une commande particulière à exécuter ?

    Merci.



    J'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    EXPLAIN PLAN FOR
    [MonCodeSql]
     
    set linesize 150;
    SELECT * FROM TABLE(dbms_xplan.display);
    Et voici la création de PLAN_TABLE que j'utilise (fonctionnait bien en 10g) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    DROP TABLE PLAN_TABLE;
     
    CREATE TABLE PLAN_TABLE (
            statement_id       varchar2(30),
            plan_id            number,
            timestamp          date,
            remarks            varchar2(4000),
            operation          varchar2(30),
            options            varchar2(255),
            object_node        varchar2(128),
            object_owner       varchar2(30),
            object_name        varchar2(30),
            object_alias       varchar2(65),
            object_instance    numeric,
            object_type        varchar2(30),
            optimizer          varchar2(255),
            search_columns     number,
            id                 numeric,
            parent_id          numeric,
            depth              numeric,        
            position           numeric,
            cost               numeric,
            cardinality        numeric,
            bytes              numeric,
            other_tag          varchar2(255),
            partition_start    varchar2(255),
            partition_stop     varchar2(255),
            partition_id       numeric,
            other              long,
            other_xml          clob,
            distribution       varchar2(30),
            cpu_cost           numeric,
            io_cost            numeric,
            temp_space         numeric,
            access_predicates  varchar2(4000),
            filter_predicates  varchar2(4000),
            projection         varchar2(4000),
            time               numeric,
            qblock_name        varchar2(30)
    );
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut COST = TIME / SREADTIM
    Bonjour,

    Si 9i ne le calcule pas, alors il suffit de prendre le Cost et de le multiplier par 12 millisecondes (12ms étant le SREADTIM avec les valeurs par défaut: db_block_size=8192, IOSEEKTIM, IOTFRSPEED=4096). Si les stats systèmes sont collectées, alors voir les valeurs dans SYS.AUX_STATS$ au lieu des valeurs par défaut.

    Cela dit, à quoi sert cette estimation qui n'a pour but que de comparer des plans d'après un modèle, et en aucun cas de prévoir la durée d'une requête ?

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Merci Pachot,
    J'avais des requêtes anormalement longues et je souhaitais savoir si d'autres requêtes allaient aussi durer anormalement longtemps, avoir une estimation, en gros.
    J'ai réglé le problème avec un DBA qui avait effectué des opérations de restauration des données sans avoir restauré les statistiques. Le DBA a relancé le calcul des statistiques et maintenant tout refonctionne normalement.

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

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

Discussions similaires

  1. Boost : probleme avec time et aleatoire .
    Par Cokate dans le forum Boost
    Réponses: 4
    Dernier message: 04/06/2008, 12h05
  2. problème avec time.h
    Par dc.sara dans le forum C++
    Réponses: 5
    Dernier message: 08/01/2008, 09h27
  3. [VBA-Excel] Pbme avec Time
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/01/2007, 12h01
  4. [PHP-JS] problème avec time()
    Par maxtt dans le forum Langage
    Réponses: 14
    Dernier message: 31/07/2006, 04h12
  5. probleme avec time
    Par ldoudl dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/02/2006, 23h48

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