> Tech > Lister tous les index

Lister tous les index

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Kent Milligan - Mis en ligne le 17/03/2004

Pour analyser rapidement les problèmes de performance de la base de données

La possibilité de créer des objets base de données avec à  la fois DDS et SQL peut rendre difficile la recherche de tous les objets base de données associés à  une table (ou fichier physique)...C'est particulièrement vrai pour les index sur DB2 UDB for iSeries. Voici tous les objets qui pourraient avoir besoin d'un index de base de données pour être créés (ou partagés) sur DB2 UDB for iSeries :

  • Index SQL
  • Fichiers logiques avec clés
  • Fichiers physiques avec clés
  • Clés primaires, clés étrangères et contraintes uniques
Trouver tous les index pour une table particulière est important parce que l'optimiseur de requêtes compte énormément sur les index pour l'optimisation et l'implémentation de vos requêtes. Donc, le fait de savoir de quels index dispose l'optimiseur peut vous aider à  analyser des problèmes de performance de la base de données.
A l'heure actuelle, aucune interface iSeries ne peut à  elle seule fournir la liste complète des index pour une table. La commande CL DspDbR (Display Database Relations) donne une liste de tous les index SQL et des fichiers logiques avec clés, mais elle ne fournit aucune information sur les index qui sont associés à  un fichier physique avec clés ou à  des contraintes de base de données. La commande DspFD (Display File Description) renvoie une liste des index associés avec contraintes et fichiers physiques avec clés, mais elle ne donne pas d'information sur les index SQL et sur les fichiers logiques avec clés. Même le composant Database Navigator d'iSeries Navigator (précédemment Operations Navigator, OpsNav) omet les index de fichiers physiques avec clés de sa représentation graphique de tous les index associés à  une table.
L'utilitaire de listing des index résout ce problème en offrant une méthode unique (une procédure stockée) que l'on peut appeler pour produire une liste de tous les index pour une table particulière. Le listing des index produit cette liste en appliquant les requêtes aux vues du catalogue de base de données dans la bibliothèque QSys2 et les fichiers à  référence croisée du système de base de données dans la bibliothèque QSys. En utilisant les requêtes, l'utilitaire se dispense de créer d'abord un fichier de sortie (en utilisant les commandes système) ou tout autre type de table de travail. (La source pour l'utilitaire de listing des index peut être téléchargée à  l'adresse www.itpro.fr Club Abonnés).

Lister tous les index

Pour employer l’utilitaire, il suffit d’appeler
la procédure stockée, en lui passant
le nom de la table et la bibliothèque
de la table. Le nom de table
fourni peut être soit le nom de table
système plus court, soit le nom SQL
plus long (si la table a été créée avec
SQL Server).
La procédure renvoie le listing des
index via un jeu de résultats, de sorte
que l’interface d’invocation doit être
capable d’afficher un jeu de résultats. Sur l’iSeries, l’interface la plus naturelle
avec ce type de possibilité est la
fenêtre iSeries Navigator Run SQL
Scripts. De cette fenêtre, l’appel suivant
vers cet utilitaire produit la sortie
illustrée en figure 1 :

Call QGPL.IndexList(‘PF1′,’KMTEST’);

Dans la figure 1, on voit que le listing
des index ne contient pas que le
nom et la bibliothèque de l’index. Il
contient aussi une liste des colonnes
clés (champs) et l’ordre de chaque colonne
avec l’attribut d’unicité de l’index.
Voici comment démarrer avec l’utilitaire
:

Interface 5250

  • 1. Placer les instructions SQL de la procédure
    stockée dans un membre du
    fichier source.

  • 2. Créer la procédure stockée avec la
    commande RunSQLStm (Run SQL
    Statements)
  • iSeries Navigator

  • 1. Couper et coller les instructions SQL
    de la procédure stockée dans la fenêtre
    iSeries Navigator Run SQL
    Scripts.

  • 2. Sélectionner l’option Run All pour
    créer la procédure stockée.
  • Remarque : Le produit DB2 Query
    Manager and SQL Development Kit est
    nécessaire pour créer une procédure
    SQL sur la V5R1. Si vous n’avez pas ce
    produit installé, vous pouvez transférer
    un fichier de sauvegarde contenant
    l’objet programme associé à  cette procédure
    SQL. Restaurer l’objet programme
    de la procédure stockée a
    pour principal effet de créer la procédure
    SQL sur votre système sans être
    obligé d’installer le Development Kit.
    Au niveau de la V5R2, le Development
    Kit n’est plus nécessaire pour la création
    des procédures stockées SQL.

    Téléchargez cette ressource

    Préparer l’entreprise aux technologies interconnectées

    Préparer l’entreprise aux technologies interconnectées

    Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

    Tech - Par iTPro.fr - Publié le 24 juin 2010