момент выполнения запроса?
Очень много данных, запрос выполняется несколько дней. Новые данные, которые поступают в исходную таблицу будут перелиты?
А очень много это сколько если не секрет?
Крайне маловероятно.. Даже в SQL такого нету :) Так штаа лучше всего направить запись в новое место, а потом медленно и печально выполнить insert into select *
Имхо фиксирует, но точно не помню
нет, новые данные не будут перелиты в этот SELECT селект на начальном этапе довольно быстро определяет список партов и список партиций по которым будет идти вычитка новые парты в этот список не попадат
Просто интересно, а в случае alter delete или че-то такого, все равно вычитает из "старых" партов?
alter delete это условие которое будет переменено для фильтрации при операции background merge посмотрите system.mutations Там есть parts_to_do
фиксирует. SELECT запоминает активные парты до начала выполнения и увеличивает у них ref_cnt +1 , поэтому до конца селекта они будут существовать.
SELECT запоминает активные парты до начала выполнения и увеличивает у них ref_cnt +1 , поэтому до конца селекта они будут существовать.
Обсуждают сегодня