184 похожих чатов

Смотрите, какой интересный эффект. Я сменила PARTITION BY date =>

PARTITION BY toYYYYMMDD(date) В результате у меня количество parts увеличилось в несколько раз, а операции merge стали очень тяжелыми - по 400-600 секунд каждая, хотя раньше было полно легких. Если я переделаю PARTITION BY date => PARTITION BY toYYYYMMDD(date) => PARTITION BY date => PARTITION BY toYYMMDD(date) то parts станет меньше или нет? И можно понять как работают мержи (не алгоритмы склейки, а как влияет размер ключа на количество parts, как часто выполняются операции merge etc) - где-либо кроме исходников и документации тут? https://clickhouse.com/docs/ru/engines/table-engines/mergetree-family/mergetree/#mergetree-data-storage

4 ответов

11 просмотров

сначала ищем проблему, потом решение PARTITION BY date => PARTITION BY toYYYYMMDD(date) -- это одно и тоже, вы себе в ногу стреляете

>Если я переделаю PARTITION BY date => PARTITION BY toYYYYMMDD(date) => PARTITION BY date => PARTITION BY toYYMMDD(date) не надо ничего переделывать сломя голову

>И можно понять как работают мержи (не алгоритмы склейки, а как влияет размер ключа на количество parts, как часто выполняются операции merge не надо. Я например не понимаю, и мне это не мешает

насколько я понял читая все ваши сообщения, а толком вы вообще ничего не сказали, у вас проблема в том что у вас мириады мелких инсертов и очень медленный диск. 1 Сколько инсертов вы делаете в секунду? 2 Сколько в среднем грубо округлив вставляет один инсерт? 3 Что такое медленный диск ? 4 Сколько полей в таблице примерно в десятках, сотнях?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта