у мутации alter table update:
1) если обновлять 1 строку
2) если обновлять 100-100000 строк?
для первой задачи сейчас использую insert в ReplacingMergeTree, для второй вот думаю. Что в итоге лучше использовать для обновления одной строки и 100000 строк? Обновляется одно значение
Не то чтобы прям плохо/хорошо. Для того чтобы провести update серверу придется прочитать кусок, произвести мутацию, записать новую версию куска рядом и потом удалить старый. В случае обновления все равно переписывается весь кусок. Так что ИМХО разницы нету, жахнуть апдейт на 1 строку или на 100000. Если выбирать между 100000 апдейтами по 1 строке и 1 апдейтом на 100000 строк. Тут очевидно второй способ будет предпочтительнее потому что цикл чтение/запись куска будет один. Так же не забывайте про наличие свободного места на диске. Его понадобится ~x2 размера куска(вот тут я правда не уверен, отдельно куска или например целой партиции).
Обсуждают сегодня