Статистики операторов в командах EXPLAIN#

В процессе планирования запроса CedrusData вычисляет приблизительные статистики операторов для выбора оптимального плана выполнения. Статистики операций сканирования таблиц предоставляют коннекторы. Расчет статистик промежуточных операторов происходит с помощью различных эвристических формул.

Рассчитанные статистики можно посмотреть с помощью команд EXPLAIN и EXPLAIN ANALYZE. Статистики будут отображены в формате {rows: XX (XX), cpu: XX, memory: XX, network: XX}. Значение rows отображает ожидаемое количество записей, которые будут возвращены оператором во время выполнения. Значения cpu, memory и network отображают оценочное потребление ресурсов CPU, оперативной памяти и сети, соответственно. Если какое-либо из значений неизвестно, будет отображено ?.

Например::

EXPLAIN SELECT comment FROM tpch.sf1.nation WHERE nationkey > 3;
- Output[comment] => [[comment]]
        Estimates: {rows: 22 (1.69kB), cpu: 6148.25, memory: 0.00, network: 1734.25}
    - RemoteExchange[GATHER] => [[comment]]
            Estimates: {rows: 22 (1.69kB), cpu: 6148.25, memory: 0.00, network: 1734.25}
        - ScanFilterProject[table = tpch:nation:sf1.0, filterPredicate = ("nationkey" > BIGINT '3')] => [[comment]]
                Estimates: {rows: 25 (1.94kB), cpu: 2207.00, memory: 0.00, network: 0.00}/{rows: 22 (1.69kB), cpu: 4414.00, memory: 0.00, network: 0.00}/{rows: 22 (1.69kB), cpu: 6148.25, memory: 0.00, network: 0.00}
                nationkey := tpch:nationkey
                comment := tpch:comment

См. также#

EXPLAIN, EXPLAIN ANALYZE