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

SQL Oracle Discussion :

extrapolation du temps de réponse d'une requete


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 36
    Points : 44
    Points
    44
    Par défaut extrapolation du temps de réponse d'une requete
    Bonjour,
    Connaissez vous un moyen de connaitre ou d'estimer par avance le temps de réponse d'une requete particulière.

    Par exemple ma requete mets 10 secondes à répondre lors de la recherche dans une table de 10000 lignes, combien mettra elle de temps à répondre pour 100000 .

    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    logiquement, elle mettra plus du temps


    non, ce n'est pas possible de savoir si elle mettra 10% de temps en plus, ou 10x plus de temps, ou 10000 fois plus de temps.

    Tu peux cependant faire des simulations avec les outils Oracle ou avec le package dbms_stats pour voir comment Oracle réagirait si la table avait tant de lignes.

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    un petit exemple pas trop convaincant...

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    SQL> set autot trace explain stat
    SQL> create table t(x number);
     
    Table created.
     
    SQL> exec dbms_stats.set_table_stats('SCOTT','T',numrows=>10000)
     
    PL/SQL procedure successfully completed.
     
    SQL> select * from t;
     
    no rows selected
     
     
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 2153619298
     
    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      | 10000 |   126K|    24   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS FULL| T    | 10000 |   126K|    24   (0)| 00:00:01 |
    --------------------------------------------------------------------------
     
     
    Statistics
    ----------------------------------------------------------
             24  recursive calls
              0  db block gets
              5  consistent gets
              0  physical reads
              0  redo size
            318  bytes sent via SQL*Net to client
            458  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              0  rows processed
     
    SQL> exec dbms_stats.set_table_stats('SCOTT','T',numrows=>100000)
     
    PL/SQL procedure successfully completed.
     
    SQL>  select * from t;
     
    no rows selected
     
     
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 2153619298
     
    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |   100K|  1269K|    27  (12)| 00:00:01 |
    |   1 |  TABLE ACCESS FULL| T    |   100K|  1269K|    27  (12)| 00:00:01 |
    --------------------------------------------------------------------------
     
    Statistics
    ----------------------------------------------------------
              1  recursive calls
              0  db block gets
              3  consistent gets
              0  physical reads
              0  redo size
            318  bytes sent via SQL*Net to client
            458  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
              0  rows processed

    peut-être que ça peut t'aider. Il faut bien sûr mettre à jour d'autres statistiques (index, nombre de nulls, etc) pour avoir de meilleures estimations

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 36
    Points : 44
    Points
    44
    Par défaut
    Merci, je me doutais un peu de la réponse, mais bon je vais partir sur ton exemple pour voir ce que cela donne.

    Bonne journée.

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

Discussions similaires

  1. Temps de réponse d'une requete ACCESS
    Par sfeltan dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/06/2007, 18h53
  2. Temps de réalisation d'une requete avant lancement
    Par jcachico dans le forum Outils
    Réponses: 6
    Dernier message: 12/04/2006, 16h27
  3. temps de reponse d'une requetes ?
    Par Melvine dans le forum Oracle
    Réponses: 1
    Dernier message: 27/03/2006, 17h54
  4. [Stratégie] Mesurer le temps d'exécution d'une requête
    Par nice dans le forum Général Java
    Réponses: 5
    Dernier message: 29/01/2006, 18h53
  5. Réponses: 9
    Dernier message: 20/06/2005, 13h17

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