источник генерит много однострочных инсертов.
Если использовать вставку через Null + MV то кх сам оптимизирует этот момент?
Если нет, то куда буфер прикручивать тогда?
У нас так Null + MV -> Buf -> MergeTree
какой буфер?
Я экспериментировал с динамическим пересозданием Log таблиц, но пока не проверял есть ли выигрыш на больших потоках одиночных вставок.
Сейчас обычный create buffer(db, table, ...) Точные значения размеров и таймаутов на память не скажу
ну ОК и что сейчас Buffer -> Null -> MV -> mergtrtee_таблица ? ну и должно быть все хорошо. Поставьте чтобы Buffer меньше 10тыс. записей не сбрасывал
Сейчас я ещё на Null + MV не переделал, но планирую. Потому и возник вопрос нужно ли оставлять буфер или можно в такой схеме без него обойтись. И если добавлять буфер, то перед Null или между MV и конечной таблицей?
MV триггерится каждым инсертом. По одной строке вставлять нельзя. Лучше делать Buffer -> Null -> MV -> mergtrtee_таблица чтобы было меньше вызовов MV
Обсуждают сегодня