Un visualiseur de plan EXPLAIN qui trouve l’étape lente.
Collez un plan EXPLAIN Postgres ou MySQL au format JSON et le visualiseur de plan EXPLAIN de LetDraw le dessine sous forme d’arbre, une boîte par nœud du plan avec son coût, ses lignes et son temps. Une carte de chaleur colore chaque nœud selon le temps ou le coût qu’il ajoute lui-même, et l’étape lente de la requête s’allume en rouge.
Visualiser un plan EXPLAIN en quatre étapes
Lancez EXPLAIN en JSON, collez le résultat et lisez l’arbre au lieu d’un mur de texte.
Obtenez le plan en JSON
Dans Postgres, placez EXPLAIN (FORMAT JSON) devant votre requête, ou EXPLAIN (ANALYZE, FORMAT JSON) pour des temps réels. Dans MySQL, utilisez EXPLAIN FORMAT=JSON.
Collez-le dans Générer à partir du code
Ouvrez Générer à partir du code (une fonctionnalité Pro) depuis le menu Plus d’outils et collez. Le plan est reconnu automatiquement et un aperçu en direct s’affiche.
Lisez la carte de chaleur
Les nœuds verts ajoutent peu, les nœuds rouges ajoutent le plus. Disposez l’arbre de haut en bas ou de gauche à droite, selon ce qui se lit le mieux.
Annotez et partagez
Insérez l’arbre, ajoutez une note avec votre correctif sur la boîte rouge, puis partagez un lien ou exportez en PNG, SVG ou PDF.
Une carte de chaleur selon le temps propre, pas les totaux
Postgres indique le coût et le temps de façon cumulée, si bien que la racine d’un plan paraît toujours la plus coûteuse. Ce visualiseur de plan EXPLAIN soustrait les enfants de chaque nœud et colore selon ce que le nœud ajoute lui-même, du vert à l’ambre puis au rouge. Chaque boîte affiche le type de nœud et la table, l’index ou la fonction concernés, ainsi que le coût, les lignes et, avec ANALYZE, le temps en millisecondes sur l’ensemble des boucles.
- EXPLAIN Postgres au format JSON, avec ou sans ANALYZE
- EXPLAIN FORMAT=JSON de MySQL, avec chaque table, son type d’accès, son coût et ses lignes
- S’exécute dans votre navigateur : le plan et les noms de vos tables restent sur votre machine
Des plans de requêtes lentes faciles à discuter
Un plan brut, une seule personne le déchiffre ; un arbre coloré, toute l’équipe le comprend.
Diagnostic des requêtes lentes
Trouvez le parcours séquentiel ou la jointure coûteuse en quelques secondes, au lieu de faire défiler du JSON imbriqué.
Avant et après un index
Collez les deux plans sur un même canevas et montrez précisément quel nœud est passé du rouge au vert.
Revues de code
Joignez le plan d’une nouvelle requête à la pull request pour que les relecteurs voient son coût, pas seulement son SQL.
Rapports d’incident
Exportez l’arbre en carte de chaleur en PNG, SVG ou PDF et placez le coupable directement dans le post-mortem.
Échanges entre développeurs et DBA
Partagez un tableau où les deux camps commentent les mêmes nœuds du plan en temps réel.
Comprendre les planificateurs de requêtes
Voyez comment jointures, parcours et tris s’imbriquent et pourquoi le planificateur les a choisis.
FAQ : visualiser un plan EXPLAIN
Quelle sortie EXPLAIN puis-je coller ?
Dois-je utiliser EXPLAIN ANALYZE ?
Mon plan de requête quitte-t-il le navigateur ?
Est-ce gratuit ?
D’autres diagrammes à partir du code
Laissez le goulot d’étranglement se présenter.
Ouvrez LetDraw, collez votre plan EXPLAIN en JSON et voyez où la requête passe son temps.