Size: a a a

ClickHouse не тормозит

2020 September 16

K

Kid in ClickHouse не тормозит
спасибо
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexey Sokolov
А у меня такой вопрос: с учётом того, что КХ сильно чувствителен к порядку объединяемых inner join-ом таблиц (для таблиц в 2кк и 20кк записей разница от перемены мест вышла в 5 раз по используемой памяти), а при использовании MV первой обязательно должна идти таблица, для которой будут отслеживаться insert-ы, как лучше поступать в ситуациях, когда для MV первой должна идти таблица t1, а для оптимизации объединения первой должна идти t2?

Пробовал менять t1 на подзапрос (select * from t1 where id in (select id from t2)) и аналогичным образом для t2 - это даёт эффект, но выглядит очень громоздким и странным.
зачем вам join в MV? join замедляет insert , так как MV вызывает хер знает сколько раз на каждый инсерт, то проде это такие MV вообще не работают
источник

K

Kid in ClickHouse не тормозит
немного не понял по доке, что имеется ввиду вод "белым списком по ключам соединения"
в чем отличие  any left join от semi left join? И semi left join от left join? немного не понял по доке(
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Kid
немного не понял по доке, что имеется ввиду вод "белым списком по ключам соединения"
в чем отличие  any left join от semi left join? И semi left join от left join? немного не понял по доке(
дайте ссылку
источник

K

Kid in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
дайте ссылку
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Kid
немного не понял по доке, что имеется ввиду вод "белым списком по ключам соединения"
в чем отличие  any left join от semi left join? И semi left join от left join? немного не понял по доке(
anti (черный) -- это выборка из правой таблицы записей которых нет в левой
белый -- это выборка из правой таблицы записей которые есть в левой
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
left join -- выбираем записи из левой и умножаем если в правой их несколько
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
semi left  (any left ) -- выбираем записи из левой и берем из правой только одну любую
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
any inner join -- берем только одну из левой и одну из правой
источник

K

Kid in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
semi left  (any left ) -- выбираем записи из левой и берем из правой только одну любую
semi left и any left должны давать один результат получается?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Kid
semi left и any left должны давать один результат получается?
вы сказали что да, я хз. В любом случае лучше переписывать на semi , потому что any сегодня так, а завтра этак.
источник

K

Kid in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
вы сказали что да, я хз. В любом случае лучше переписывать на semi , потому что any сегодня так, а завтра этак.
с настройкой any left дает одинаковые результаты
без настройки semi left и any left дают разные результаты
источник

AS

Alexey Sokolov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
зачем вам join в MV? join замедляет insert , так как MV вызывает хер знает сколько раз на каждый инсерт, то проде это такие MV вообще не работают
У меня из разных источников наполняются t1(UUID id, val1 int32) и t2(UUID id, val2 String, ..., valN String), а надо из них сделать одну t3(UUID id, val1 int32, val2 String, ..., valN String).

В t2 75кк записей и 5кк в день обновляются (старые истекают, новые прилетают).
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Kid
с настройкой any left дает одинаковые результаты
без настройки semi left и any left дают разные результаты
да, действительно LEFT SEMI JOIN  почему-то не работает как left
источник

K

Kid in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
да, действительно LEFT SEMI JOIN  почему-то не работает как left
он работает как уникальный inner
первый попавшийся
ну или хз там как он выбирает)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Alexey Sokolov
У меня из разных источников наполняются t1(UUID id, val1 int32) и t2(UUID id, val2 String, ..., valN String), а надо из них сделать одну t3(UUID id, val1 int32, val2 String, ..., valN String).

В t2 75кк записей и 5кк в день обновляются (старые истекают, новые прилетают).
в ETL берете cassandra и джойните построчно
источник

SC

Smoked Cheese in ClickHouse не тормозит
Smoked Cheese
подскажите, есть ли возможность удалить дефолт значение у колонки? вроде баг был, не могу найти
пыщь
источник

ПИ

Перец Из адлера... in ClickHouse не тормозит
Всем привет! У нас завязался спор и потому я здесь, Clickhouse можно использовать для коммерческих систем вроде маркетплейсов и электронных магазинов?
источник

pk

papa karlo in ClickHouse не тормозит
использовать в качестве чего?
источник

K

Kid in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
да, действительно LEFT SEMI JOIN  почему-то не работает как left
Как можно ускорить any left join, нет лайфхаков?
источник