Статистика таблиц#
Trino поддерживает оптимизации запросов на основе статистики. Чтобы запрос мог использовать эти оптимизации, у Trino должна быть статистическая информация о таблицах в этом запросе.
Статистика таблиц — это оценки хранимых данных. Она предоставляется коннекторами планировщику запросов и позволяет повысить производительность обработки запросов.
Доступная статистика#
В Trino доступна следующая статистика:
Для таблицы:
количество строк: общее число строк в таблице
Для каждого столбца в таблице:
размер данных: размер данных, которые нужно прочитать
доля null: доля значений null
количество различных значений: число различных значений
минимальное значение: наименьшее значение в столбце
максимальное значение: наибольшее значение в столбце
Набор статистики, доступный для конкретного запроса, зависит от используемого коннектора и также может отличаться от таблицы к таблице. Например, коннектор Hive в настоящее время не предоставляет статистику по размеру данных.
Статистику таблиц можно вывести через SQL-интерфейс Trino с помощью команды SHOW STATS.
В зависимости от поддержки коннектора статистика таблиц обновляется Trino при
выполнении операторов управления данными, таких как INSERT,
UPDATE или DELETE. Например, коннектор Delta Lake,
коннектор Hive и коннектор Iceberg
поддерживают управление статистикой таблиц из Trino.
Вы также можете инициализировать сбор статистики командой ANALYZE. Это необходимо, когда данные изменяются другими системами вне Trino, и поэтому статистика, отслеживаемая Trino, устаревает. Другие коннекторы полагаются на нижележащий источник данных для управления статистикой таблиц или вовсе не поддерживают использование статистики таблиц.