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

Trino поддерживает оптимизации запросов на основе статистики. Чтобы запрос мог использовать эти оптимизации, у Trino должна быть статистическая информация о таблицах в этом запросе.

Статистика таблиц — это оценки хранимых данных. Она предоставляется коннекторами планировщику запросов и позволяет повысить производительность обработки запросов.

Доступная статистика#

В Trino доступна следующая статистика:

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

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

  • Для каждого столбца в таблице:

    • размер данных: размер данных, которые нужно прочитать

    • доля null: доля значений null

    • количество различных значений: число различных значений

    • минимальное значение: наименьшее значение в столбце

    • максимальное значение: наибольшее значение в столбце

Набор статистики, доступный для конкретного запроса, зависит от используемого коннектора и также может отличаться от таблицы к таблице. Например, коннектор Hive в настоящее время не предоставляет статистику по размеру данных.

Статистику таблиц можно вывести через SQL-интерфейс Trino с помощью команды SHOW STATS.

В зависимости от поддержки коннектора статистика таблиц обновляется Trino при выполнении операторов управления данными, таких как INSERT, UPDATE или DELETE. Например, коннектор Delta Lake, коннектор Hive и коннектор Iceberg поддерживают управление статистикой таблиц из Trino.

Вы также можете инициализировать сбор статистики командой ANALYZE. Это необходимо, когда данные изменяются другими системами вне Trino, и поэтому статистика, отслеживаемая Trino, устаревает. Другие коннекторы полагаются на нижележащий источник данных для управления статистикой таблиц или вовсе не поддерживают использование статистики таблиц.