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

AS/400 Discussion :

SQL - création Index


Sujet :

AS/400

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 43
    Points
    43
    Par défaut SQL - création Index
    Bonjour,

    Comment peut-on savoir combien de fois a été utilisé un index (créé via CREATE INDEX)?

    Comment peut-on savoir les index peu utilisés ou bien inutiles?

    Est-il vrai que lors d'une requête SQL si l'index n'est pas créé, celui est automatiquement créé en temporaire mais reste-t-il stocké quelque part suir la machine?

    Comment cela se fait-il qu'Iseries naivagator nous donne des index à créer mais dont l'ordre des champs est différents de la requete SQL? (voir doc ci-joint)

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par brunodu60 Voir le message
    Comment peut-on savoir combien de fois a été utilisé un index (créé via CREATE INDEX)?
    Comment peut-on savoir les index peu utilisés ou bien inutiles?
    Cette requête nous permet de connaître tous les index non utilisés depuis plus de 200 jours (V5R4 mini)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select system_index_schema, system_index_name, LAST_USED_TIMESTAMP  
    from SYSINDEXSTAT where                                             
      days(current date) - 
    days(ifnull(date(LAST_USED_TIMESTAMP), '01.01.2000')) > 200       
    order by 1, 2
    Citation Envoyé par brunodu60 Voir le message
    Est-il vrai que lors d'une requête SQL si l'index n'est pas créé, celui est automatiquement créé en temporaire mais reste-t-il stocké quelque part suir la machine?
    Je ne comprends pas ta question.
    Si le moteur SQL décide de créer un index temporaire (suite à de nombreuses sollicitation) il le conserve et le maintient jusqu'au prochain IPL, et il devient partageable entre tous les jobs. Ceci est vrai pour SQE mais pas pour CQE qui le supprime dans la foulée, ne le maintient pas et ne le partage pas.

    Citation Envoyé par brunodu60 Voir le message
    Comment cela se fait-il qu'Iseries naivagator nous donne des index à créer mais dont l'ordre des champs est différents de la requete SQL?
    Il serait long dans un simple post de te faire un cours SQL Performance pour comprendre comment le système détermine les index à créer (ce cours dure 4j).
    L'ordre n'a en effet rien à voir, c'est la cardinalité de la sélection et des valeurs du champ qui priment.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 43
    Points
    43
    Par défaut
    Merci pour tes réponses, mais j'ai un question concernant le code SQL que tu as mis, où vas-tu chercher le nom du fichier?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Dans ce cas fais un select * from SYSINDEXSTAT Where ....
    La table sur laquelle pointe le logique s'appelle TABLE_NAME et sa bibliothèque TABLE_SCHEMA

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 43
    Points
    43
    Par défaut
    je crois que tu n'as pas compris ce que je souhaitais. Dans ton SQL tu as le fichier SYSINDEXSTAT, d'où vient-il?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    De qsys2 mais V5R4 minimum (comme je l'ai posté précédemment), et encore faut-il avoir les dernières PTFs group DB2

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

Discussions similaires

  1. [SQL] Création index thématique
    Par mioke dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/03/2008, 17h11
  2. Comment optimiser requête SQL avec création Index
    Par schumi101 dans le forum SQL
    Réponses: 25
    Dernier message: 11/12/2007, 21h28
  3. [ORA-01652:] création index
    Par Filippo dans le forum Administration
    Réponses: 8
    Dernier message: 18/05/2007, 16h13
  4. [PL/SQL] Création fichiers txt chez l'utilisateur
    Par NPortmann dans le forum Oracle
    Réponses: 13
    Dernier message: 05/05/2006, 18h46
  5. [SQL Serv2000][Indexation Texte Integral]Choix menu grisé
    Par TreizeSegments dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 09h21

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