Optimisation d'instructions SQL uniques

Vous pouvez améliorer la performance des instructions SQL dans les applications qui accèdent à DB2 for Linux, UNIX, and Windows et DB2 for z/OS.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Bien qu'il n'y ait pas d'ordre prédéfini dans lequel utiliser les assistants, les outils d'analyse et les rapports pour l'optimisation d'une instruction SQL, il existe un ordre général sur lequel vous pouvez baser vos propres scénarios d'optimisation.

Procédure

Dans la plupart des cas, vous pouvez procéder comme suit :

  1. Capturez l'instruction SQL que vous souhaitez optimiser. Voir Emplacements à partir desquels vous pouvez capturer une instruction SQL pour l'optimisation de requête unique.
  2. Si une licence d'optimisation est activée sur le serveur de données connecté, optimisez l'instruction SQL en procédant comme suit :
    1. Formatez et annotez l'instruction posant problème pour la rendre plus facile à lire et comprendre. Les annotations présentent des statistiques associées qui peuvent vous aider à comprendre quelles informations utilise l'optimiseur DB2 lors de la génération du plan d'accès. Voir la rubrique Formatage des instructions SQL.
    2. Suivez l'une de ces étapes ou ces deux étapes :
    3. Exécutez l'assistant Statistiques et suivez ses recommandations pour vous assurer que l'optimiseur DB2 dispose toujours des statistiques les plus actuelles et nécessaires. Voir la rubrique Génération et exécution des recommandations pour la collecte de statistiques concernant les objets de base de données qui se trouvent dans le chemin d'accès d'une instruction SQL.
    4. Exécutez l'assistant Index et suivez ses recommandations pour vous assurer que les index appropriés existent afin d'éviter les analyses de table non nécessaires. Voir la rubrique Génération et exécution de recommandations liées aux index pour l'amélioration des performances d'instructions SQL uniques.
    5. Exécutez l'assistant Requête et suivez ses recommandations pour rechercher et réviser les structures dans l'instruction qui sont susceptibles de faire choisir un chemin d'accès non optimal à l'optimiseur DB2. Voir la rubrique Génération et exécution de recommandations pour réviser les instructions SQL afin d'obtenir de meilleures performances.
    6. L'assistant Chemin d'accès vous permet de déterminer si l'optimiseur DB2 utilise un chemin d'accès non optimal pour traiter l'instruction. Suivez ensuite les recommandations de l'assistant. Voir la rubrique Génération et exécution de recommandations pour modifier les chemins d'accès pour les instructions SQL.
    7. Si l'optimiseur DB2 continue à utiliser un chemin d'accès non optimal, créez, validez et déployez un indicateur d'optimisation de plan (pour DB2 for z/OS) ou un profil d'optimisation (DB2 for Linux, UNIX et Windows) donnant à l'optimiseur des instructions explicites pour le choix d'un chemin d'accès.
  3. Si aucune licence n'est activée pour l'optimisation sur le serveur de données connecté, optimisez l'instruction SQL en procédant comme suit :
    Remarque : Si vous utilisez IBM® Data Studio, aucune licence n'est activée sur le serveur de données.
    1. Formatez l'instruction SQL pour le rendre plus facilement lisible et compréhensible. Visualiser une version formatée de l'instruction SQL peut permettre de déceler des problèmes moins visibles avec la version non formatée. Voir la rubrique Formatage des instructions SQL.
    2. Analysez le graphique de plan d'accès pour l'instruction SQL afin de savoir comment DB2 accède aux données dans les objets référencés par l'instruction. Voir la rubrique Générer des représentations visuelles des plans d'accès.
    3. Exécutez l'assistant Statistiques et suivez ses recommandations pour vous assurer que l'optimiseur DB2 dispose des statistiques les plus actuelles et les plus importantes. Voir la rubrique Génération et exécution des recommandations pour la collecte de statistiques concernant les objets de base de données qui se trouvent dans le chemin d'accès d'une instruction SQL.

Commentaires