materialize_statistics_on_insert
materialize_statistics_on_insert_max_table_size.
materialize_statistics_on_insert_max_table_size
materialize_statistics_on_insert) только для таблиц, у которых текущий суммарный размер активных частей на диске (в сжатом виде, в байтах) вместе с несжатым размером записываемого блока в памяти не превышает это значение. Условие применяется к каждому записываемому блоку, а не к каждому INSERT: один INSERT разбивается на один блок для каждой партиции (а при стриминговых вставках — на несколько блоков), и для каждого из них выполняется проверка с учётом размера уже активных частей, поскольку части текущего INSERT ещё не активны. Поэтому одна пакетная загрузка в пустую таблицу может создать статистику для всех своих частей, даже если их суммарный размер превышает порог; ограничение начинает действовать при последующих вставках. Использование несжатого размера блока (сжатый размер неизвестен до записи части) намеренно делает проверку консервативнее максимум на один блок. Это позволяет поддерживать актуальность статистики в небольших таблицах измерений, что важно для изменения порядка JOIN на основе стоимости, и при этом избегать накладных расходов при каждой вставке в больших факт-таблицах (вместо этого статистика для них создаётся во время слияний). 0 означает отсутствие ограничения размера.