web-dev-qa-db-fra.com

Comment utiliser DB2 Explain?

Comment utiliser la fonction Explain de DB2? - à la fois pour l'exécuter et pour l'utiliser pour optimiser les requêtes. Existe-t-il un meilleur outil disponible pour DB2?

J'ai déjà créé des requêtes, mais la seule façon dont j'ai eu à dire combien de temps cela prendrait est de les exécuter et de les chronométrer - ce qui n'est pas idéal.

Edit: La réponse pour moi s'est avérée être "Vous ne pouvez pas. Vous n'avez pas et ne pouvez pas obtenir l'accès." N'aimez-vous pas la bureaucratie?

23
Trevel

Ce que vous recherchez est couvert par deux utilitaires DB2:

  1. expliquer l'utilité , qui montre le plan d'accès de l'optimiseur et le coût estimé pour une requête spécifique (basé sur les statistiques RUNSTATS actuelles)
  2. Le conseiller en conception , qui recommande des modifications structurelles pour améliorer les performances d'une ou plusieurs requêtes

Les deux utilitaires nécessitent la création de tables spécialisés dans la base de données.

J'ai tendance à utiliser l'utilitaire d'explication plus que le conseiller, surtout si je suis capable de changer le SQL de la requête pour influencer un meilleur plan d'accès. J'utilise l'utilitaire de ligne de commande db2expln pour expliquer les différentes versions d'une requête que je règle et comparer leurs coûts. Ce qui est le plus important, c'est que vos statistiques de table et d'index sont à jour lors de l'exécution d'Explain ou du Design Advisor.

18
Fred Sobotka

IBM propose Data Studio comme un outil gratuit basé sur Eclipse, qui, entre autres avantages comprend une interface graphique pour exécuter Visual Explain, ainsi que pour fournir une aide au réglage via un conseiller de requête. Je recommande fortement d'utiliser Data Studio.

Il est relativement facile de configurer les ressources correctes (les tables d'explication qui doivent être construites et la liaison qui doit être effectuée) en cliquant avec le bouton droit sur une source de données connectée et en choisissant

analyser et régler> configurer pour le réglage> configuration guidée.

enter image description here

Pour générer le graphique d'explication - mettez simplement en surbrillance votre requête, faites un clic droit et choisissez "Ouvrir Visual Explain":

enter image description here

Pour utiliser le conseiller de requête , choisissez plutôt "démarrer l'optimisation". Il vous guidera à travers un processus qui générera l'explication, ainsi que recommandera toutes les opportunités de réglage qu'il peut déterminer.

enter image description here

12
Josh Hull

db2expln -échantillon de base de données -t -g -f "requête sql"

CA marchait bien pour moi.

6
khkarens

J'ai toujours trouvé que l'exécution de l'utilitaire d'explication à partir de la ligne de commande avec le mode "-g" activé m'a aidé à identifier les problèmes.

Je ne me souviens pas des options maintenant, et IIRC, db2expln est un peu difficile sur la commande {c'est-à-dire que vous ne pouvez pas mettre le nom d'utilisateur après le mot de passe !!} - mais cela fonctionne bien.

3
phatmanace