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?
Ce que vous recherchez est couvert par deux utilitaires DB2:
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.
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.
Pour générer le graphique d'explication - mettez simplement en surbrillance votre requête, faites un clic droit et choisissez "Ouvrir Visual Explain":
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.
db2expln -échantillon de base de données -t -g -f "requête sql"
CA marchait bien pour moi.
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.