таблице с 7 млрд. записей. Прошло всего 2 мутации, остальные все ещё is_done = 0. Из 7 млрд. почти за сутки промутировало всего 40 млн записей. Почему так медленно? Они все работают параллельно или последовательно одна за другой? Мне кажется за это время можно было селектом пересоздать новую таблицу с обновлёнными данными. Можно ли как-то остановить мутации?
мутации работают последовательно мутациями вы фактически инициировали множественное полное пересоздание партов попадающих под мутации остановить мутации можно через KILL MUTATION
Однако при этом optimize table final мутации не ускорит?
нет не ускорит посмотрите в system.mutations там есть список партов которые будет мутация трогать если он у вас большой (тысячи единиц), то явно у вас проблемки сравните по кол-ву это с system.parts сколько у вас
Проверил. Максимальное количество — 40 партов.
Можно ли как-то узнать, какая именно сейчас мутация в процессе?
SELECT * FROM system.merges
Обсуждают сегодня