Мы рады сообщить о реализации на explain.tensor.ru базовой поддержки анализа и визуализации планов, специфичных для PostgreSQL-совместимых решений: Timescale, Citus, Greenplum и Redshift.
![](https://habrastorage.org/r/w1560/webt/ux/5y/oj/ux5yojqetzgeoetalxavx52yhtg.png)
Так что если в будущем вам встретится план, похожий на результат обычного
В развитие темы сопоставления узлов плана и запроса добавлена возможность быстрого просмотра и переключения между ними:
![](https://habrastorage.org/webt/gp/wf/cf/gpwfcf4rysl5pxdq9-rztczxjme.gif)
Поддерживается определение узлов
![](https://habrastorage.org/r/w1560/webt/i8/cx/au/i8cxauy8t5mur021kn5ekvngmku.png)
Собственное время
![](https://habrastorage.org/r/w1560/webt/bu/1z/76/bu1z76opwuzoapyodhkc4bzgepk.png)
Время «родителя»
![](https://habrastorage.org/r/w1560/webt/0d/2g/by/0d2gbyzldynus53seda86wfrl7c.png)
Поддерживаются специфичные узлы вроде
![](https://habrastorage.org/r/w1560/webt/3v/yp/yj/3vypyjxorklwy76tqm8ryvvd-ha.png)
Поддерживается работа со всеми
![](https://habrastorage.org/r/w1560/webt/ab/mx/ep/abmxepi-taj6quwwj0e_kcr26uk.png)
Если вдруг вы нашли что-то, что мы пока не учли — напишите в комментариях.
![](https://habrastorage.org/webt/ux/5y/oj/ux5yojqetzgeoetalxavx52yhtg.png)
Так что если в будущем вам встретится план, похожий на результат обычного
EXPLAIN
, но с некоторыми странными узлами — вы знаете, куда идти.EXPLAIN <-> SQL
В развитие темы сопоставления узлов плана и запроса добавлена возможность быстрого просмотра и переключения между ними:
![](https://habrastorage.org/webt/gp/wf/cf/gpwfcf4rysl5pxdq9-rztczxjme.gif)
Поддерживается определение узлов
[Parallel] Custom Scan (ChunkAppend)
:![](https://habrastorage.org/webt/i8/cx/au/i8cxauy8t5mur021kn5ekvngmku.png)
Собственное время
Task
-узлов, выполняющихся на отдельных нодах кластера, определяется на основании фактического Execution Time
:![](https://habrastorage.org/webt/bu/1z/76/bu1z76opwuzoapyodhkc4bzgepk.png)
Время «родителя»
Custom Scan (Citus Adaptive)
вычисляется корректно, даже в случае одновременного выполнения Task
сразу на нескольких узлах кластера:![](https://habrastorage.org/webt/0d/2g/by/0d2gbyzldynus53seda86wfrl7c.png)
Подробнее об анализе EXPLAIN
в Citus.
Поддерживаются специфичные узлы вроде
Broadcast Motion, Redistribute Motion, Gather Motion, Partition Selector, Sequence
:![](https://habrastorage.org/webt/3v/yp/yj/3vypyjxorklwy76tqm8ryvvd-ha.png)
Подробнее об анализе EXPLAIN
в Greenplum.
Поддерживается работа со всеми
XN
-узлами, включая специфичные XN Network, XN Merge, XN Window
и data redistribution у Join
-узлов:![](https://habrastorage.org/webt/ab/mx/ep/abmxepi-taj6quwwj0e_kcr26uk.png)
Подробнее об анализе EXPLAIN
в Redshift.
Если вдруг вы нашли что-то, что мы пока не учли — напишите в комментариях.