таблице, с очень малым количеством озу?
время выполнения не принципиально, хоть неделю
при
SET join_algorithm = 'partial_merge'
select * from c.main inner join c.d on c.main.m = c.d.a
выдаёт
Code: 241. DB::Exception: Received from . DB::Exception: Memory limit (total) exceeded: would use 2.79 GiB (attempt to allocate chunk of 4325664 bytes), maximum: 2.79 GiB: (avg_value_size_hint = 43, avg_chars_size = 42, limit = 16384): (while reading column address): (while reading from part /chdb/store/4f8
/4f88080f-c32b-4ced-8f88-080fc32beced/all_320499_332314_44/ from mark 576 with max_rows_to_read = 16384): While executing MergeTreeThread. (MEMORY_LIMIT_EXCEEDED)
ну за неделю можно поднять постгрес и на нем спокойно сделать джойн)
сколько у вас всего памяти на сервере?
ну вообще могу залить на сервер с 96 гб и там прогнать, но т.к. это надо делать примерно раз в несколько месяцев, а хранить на том сервере не вариант, то подумал вдруг можно это сделать на этих мощностях, но медленней
так может тогда вообще с кликхауса на него перейти)
отличная идея!
так сколько памяти у вас на текущей конфигурации?
а какие размеры таблиц?
set join_algorithm=partial_merge select * from system.settings where name like '%join%';
1169182464 строк на винте примерно 40гб занимает
set join_algorithm=partial_merge select * from system.settings where name like '%join%';
set join_algorithm='partial_merge'
┌─name───────────────────────────────────────┬─value─────────┬─changed─┬─min──┬─max──┬─readonly─┬─type───────────┐ │ max_joined_block_size_rows │ 65505 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ join_use_nulls │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ join_default_strictness │ ALL │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ JoinStrictness │ │ any_join_distinct_right_table_keys │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ joined_subquery_requires_alias │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ prefer_global_in_and_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ max_rows_in_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ max_bytes_in_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ join_overflow_mode │ throw │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ OverflowMode │ │ join_any_take_last_row │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ join_algorithm │ partial_merge │ 1 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ JoinAlgorithm │ │ partial_merge_join_optimizations │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ default_max_bytes_in_join │ 1000000000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ partial_merge_join_left_table_buffer_bytes │ 32000000 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ partial_merge_join_rows_in_right_blocks │ 65536 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ join_on_disk_max_files_to_merge │ 64 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ enable_unaligned_array_join │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ │ multiple_joins_rewriter_version │ 0 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ UInt64 │ │ cross_to_inner_join_rewrite │ 1 │ 0 │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │ 0 │ Bool │ └────────────────────────────────────────────┴───────────────┴─────────┴──────┴──────┴──────────┴────────────────┘
Обсуждают сегодня