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

DB2 Discussion :

Opportunité d'une indexation


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut Opportunité d'une indexation
    Bonjour,
    J'ai une base de données sous DB2 que j'aimerai bien indexer vu la lenteur d'exécution de certaines requêtes SQL.
    la particularité de cette base de données c'est qu'elle se vide chaque soir via un batch (COBOL) pour se remplir par les nouvelles données.
    Ma question : Est ce que ça vaut le coup de faire une telle indexation ou pas?
    Merci
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    DB2/400 ?

    Comment se vide la table ? SELECT puis DELETE ?

    Comment se remplit-elle ? INSERT ?

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Citation Envoyé par Mercure Voir le message
    DB2/400 ?
    oui.

    Citation Envoyé par Mercure Voir le message
    Comment se vide la table ?
    C'est le programme COBOL qui la vide via la commande CLRPFM

    Citation Envoyé par Mercure Voir le message

    Comment se remplit-elle ? INSERT ?
    C'est le programme COBOL qui remplit cette base de données.
    Donc il n'y a pas de SQL dans tout le process.

    SQL n'intervient que pour intérroger cette base.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Ce que tu peux faire, c'est détruire les index juste avant le CLRPFM du soir et les recréer juste après de façon à ce que les chemins d'accés soient de nouveau créés au fil de l'eau le lendemain. C'est juste une option car le CLRPFM va également buter tous les index. Question perf, je ne suis pas persuadé que tu y gagnes.
    En revanche, question perf, ça vaut certainement le coup de créer un (ou plusieurs) index supplémentaire, notamment si la table est volumineuse et souvent interrogée en journée.
    Si tu es en V5R4+, regarde les Advised Index sous iSeries Navigator, c'est édifiant en ce qui concerne les index ou EVI à éventuellement créer.

  5. #5
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Citation Envoyé par Mercure Voir le message
    C'est juste une option car le CLRPFM va également buter tous les index
    Je vais faire un test pour voir si CLRPFM détruit les index, chose qui métonne!




    Citation Envoyé par Mercure Voir le message
    Question perf, je ne suis pas persuadé que tu y gagnes.
    En revanche, question perf, ça vaut certainement le coup de créer un (ou plusieurs) index supplémentaire, notamment si la table est volumineuse et souvent interrogée en journée.
    Je ne te suis pas là . Tu veux dire que l'indexation ne va pas optimiser les temps d'exécution de mes requêtes ou quoi?

    Citation Envoyé par Mercure Voir le message
    Si tu es en V5R4+, regarde les Advised Index sous iSeries Navigator, c'est édifiant en ce qui concerne les index ou EVI à éventuellement créer.
    Oui je suis en V5R4, peux tu m'expliquer comment voir côté Advised Index sous iSeries Navigator? car en lançant iSeries Navigator je trouve juste : Fonction, Index, Journaux, Tables... mais pas cette notion de Advised Index!
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  6. #6
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    Je viens de faire un petit test. j'ai créé une table que j'ai indexé. après j'ai lancé un CLRPFM, j'ai vérifié par la suite les index, ils sont bien là
    to be continued...
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Citation Envoyé par JauB
    Je vais faire un test pour voir si CLRPFM détruit les index, chose qui m'étonne!
    Bien sûr que si puisque CLRPFM bute les enregistrements et les index par voie de conséquence.
    Sur quels enregistrements de la table les index pointeraient-ils s'ils n'étaient pas détruits par le CLRPFM, je te le demande ?

    Je ne te suis pas là . Tu veux dire que l'indexation ne va pas optimiser les temps d'exécution de mes requêtes ou quoi?
    Si, probablement ! Je veux simplement dire que je ne suis pas du tout sûr qu'en faisant un DROP INDEX juste avant le CLRPFM et un CREATE INDEX juste après, on y gagne en matière de performance. Il est sans doute préférable de laisser faire le CLRPFM qui va donc buter le contenu de la table et les index qui y sont associés et basta !

    En outre, si la table est volumineuse et souvent interrogée en journée, là ça vaut le coup de créer des index spécifiques. Regarde les Advised Index sous iSeries Navigator lors d'une journée qui a été particulièrement chargée et tu verras s'il y a lieu de créer des index ou EVI supplémentaires et lesquels (sur quelles colonnes).

    C'est très intéressant mais il faut faire l'effort de tout lire.

    OnDemand Index Advice for DB2 for i


    Simplify DB2 for i5/OS index advice

Discussions similaires

  1. Inversion d'une indexed image
    Par roxor972 dans le forum 2D
    Réponses: 0
    Dernier message: 13/02/2009, 14h26
  2. Opportunité d'une conversion à Webdev ?
    Par jean-marc rigade dans le forum WebDev
    Réponses: 3
    Dernier message: 22/07/2008, 13h45
  3. Comment stopper une indexation ?
    Par fweiner dans le forum AS/400
    Réponses: 14
    Dernier message: 03/04/2008, 11h01
  4. Réponses: 10
    Dernier message: 12/10/2005, 23h41

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