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

Сделал материзованное view на AggregatingMergeTree но чето медленно оно кверится.

вообще по памяти валится. В чем может быть проблема?

14 ответов

41 просмотр

Что вы сделали ? Вы сделали MV на таблицу с движком AggregatingMergeTree ? Какой запрос медленно выполняется ? Какие агрегатные функции используете

William Ko- Автор вопроса
Константин
Что вы сделали ? Вы сделали MV на таблицу с движко...

1 да. MV на таблицу с движком SimpleAggregateFunction 2 медленно выполняются селекты с группировкой типо таких как на скрине 3 в основном max, один раз min, один раз groupUniqArrayArraySimpleState и один раз anyLastSimpleState

William Ko
screenshot 1 да. MV на таблицу с движком SimpleAggregateFunct...

Лучше покажите как создана AggregatingMergeTree и запрос текстом целиком. Если в запросе есть uniq то быстро не будет

William Ko- Автор вопроса
Konstantin Ilchenko
Лучше покажите как создана AggregatingMergeTree и ...

запрос создания таблицы или запрос создания вью. uniq есть. но он не критичен. щас без него попробую еще

William Ko
запрос создания таблицы или запрос создания вью. u...

Таблицы, у вас же вью вставляет в AggregatingMergeTree таблицу

William Ko- Автор вопроса
Konstantin Ilchenko
Таблицы, у вас же вью вставляет в AggregatingMerge...

CREATE TABLE db_name.table_name ( run_id_u String, run_start_time SimpleAggregateFunction(min, DateTime64(3)), run_last_timestemp SimpleAggregateFunction(max, DateTime64(3)), order_type SimpleAggregateFunction(max, LowCardinality(String)), some_id SimpleAggregateFunction(max, UInt16), data_source SimpleAggregateFunction(max, LowCardinality(String)), report_type SimpleAggregateFunction(max, LowCardinality(String)), account_id SimpleAggregateFunction(max, LowCardinality(String)), table_name SimpleAggregateFunction(max, LowCardinality(String)), date_from SimpleAggregateFunction(max, Date), date_to SimpleAggregateFunction(max, Date), some_column SimpleAggregateFunction(max, LowCardinality(String)), order_id SimpleAggregateFunction(max, UInt32), run_events_count SimpleAggregateFunction(max, UInt16), event_types_array SimpleAggregateFunction(groupUniqArrayArray, Array(String)), has_extract_message SimpleAggregateFunction(max, UInt8), message SimpleAggregateFunction(max, String), exception_text SimpleAggregateFunction(max, String), message_type_with_error SimpleAggregateFunction(anyLast, LowCardinality(String)), error_log_message_id SimpleAggregateFunction(anyLast, String), request_id SimpleAggregateFunction(max, UInt32), _trace_id SimpleAggregateFunction(max, String), job_id SimpleAggregateFunction(max, Nullable(UInt32)), INDEX run_last_timestemp_idx run_last_timestemp TYPE minmax GRANULARITY 5, INDEX job_date_from_idx date_from TYPE minmax GRANULARITY 5, INDEX job_date_to_idx date_to TYPE minmax GRANULARITY 5, INDEX run_id_universal_idx run_id_universal TYPE bloom_filter GRANULARITY 5, INDEX table_name_idx table_name TYPE bloom_filter GRANULARITY 5 ) ENGINE = AggregatingMergeTree PARTITION BY toYYYYMM(run_start_time) ORDER BY (agency_id, data_source, report_type, account_id, order_id, table_name, run_id_u, run_last_timestemp) SETTINGS index_granularity = 8192

William Ko
CREATE TABLE db_name.table_name ( run_id_u St...

А без индексов не пробовали? Сколько строк в партиции? Возможно только медленнее делают запросы. Как выглядит сам селект?

William Ko- Автор вопроса
Konstantin Ilchenko
А без индексов не пробовали? Сколько строк в парти...

щас сделаем без индексов. но не похоже что это что-то поменяет селект на котором уже падает вот так. даже фильт по дате не спасает

William Ko
щас сделаем без индексов. но не похоже что это что...

А зачем maxSimpleState в селект, достаточно же просто max?

William Ko- Автор вопроса
William Ko
ну пробовал может как-то повлияет

Так а сколько записей и какой лимит по памяти? Надо было с этого начать наверное)

William Ko- Автор вопроса
Konstantin Ilchenko
Так а сколько записей и какой лимит по памяти? Над...

в исходной таблице 120 млн строк. 24гб. в аггерированной 30 млн

William Ko
в исходной таблице 120 млн строк. 24гб. в аггериро...

вроде не много, max_bytes_before_external_group_by = ‘12G’ - так же проходит?

William Ko- Автор вопроса
Konstantin Ilchenko
вроде не много, max_bytes_before_external_group_by...

чуть чуть бодрее стало, но больше колонок уже падает

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

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

а через 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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта