Статистики#

CedrusData поддерживает различные cost-based оптимизации, которые основаны на статистиках.

Для успешного применения данных оптимизации CedrusData сначала получает у коннекторов статистики таблиц, после чего рассчитывает на их основе статистики промежуточных операторов.

Статистики таблиц#

CedrusData поддерживает следующие статистики:

  • Для таблицы:

    • row count: количество строк в таблице

  • Для колонок таблицы:

    • data size: количество данных в байтах, которые необходимо прочитать

    • nulls fraction: доля NULL значений

    • distinct value count: количество уникальных значений

    • low value: наименьшее значение

    • high value: наибольшее значение

Каждый коннектор предоставляет то или иное подмножество статистик таблиц, описанных выше. Например, коннектор Hive в настоящее время не предоставляет статистику колонок data size.

Вы можете отобразить статистики таблицы с помощью команды SHOW STATS.

Механизм обновления статистки таблиц зависит от коннектора. Например:

  • Коннектор PostgreSQL не требует ручного обновления статистик, так как PostgreSQL делает это автоматически

  • Коннектор Hive не обновляет статистики таблиц автоматически, поэтому вы можете использовать команду ANALYZE для ручного обновления статистик