Size: a a a

ClickHouse не тормозит

2020 September 21

SP

Sergey Platonov in ClickHouse не тормозит
CREATE VIEW default.tst
(
   id Int32,
   val Decimal(15, 2),
   val2 Float32
) AS
SELECT
   test.id,
   test.val,
   test2.val2
FROM default.test
LEFT JOIN default.test2 ON test.id = test2.id
источник

DT

Dmitry Titov in ClickHouse не тормозит
Sergey Platonov
CREATE VIEW default.tst
(
   id Int32,
   val Decimal(15, 2),
   val2 Float32
) AS
SELECT
   test.id,
   test.val,
   test2.val2
FROM default.test
LEFT JOIN default.test2 ON test.id = test2.id
А, ну тогда смотри, ты создаешь VIEW и сразу там задаешь типы, а потом хочешь что бы оно туда могло пихать Nullable значения, тут либо не задавать схему у VIEW, либо тип необходимых колонок обернуть в Nullable
источник

SP

Sergey Platonov in ClickHouse не тормозит
нет, не задаю, это результат команды show create.
источник

SP

Sergey Platonov in ClickHouse не тормозит
я выолнял команду create or replace view tst as select test.id, test.val, test2.val2 from test left join test2 on test.id = test2.id;
источник

D

Dj in ClickHouse не тормозит
думаю никто не заморочился над поведением при join_use_nulls=1
вот и вся магия
источник

DT

Dmitry Titov in ClickHouse не тормозит
Sergey Platonov
нет, не задаю, это результат команды show create.
А, ну тогда придется руками задавать с Nullable тогда
источник

SP

Sergey Platonov in ClickHouse не тормозит
Dj
думаю никто не заморочился над поведением при join_use_nulls=1
вот и вся магия
но это логичное поведение, внешние соединения на то и внешние, что в них могут и должны быть null и не всегда для дальнейшей логики подходят дефолтные значения
источник

DT

Dmitry Titov in ClickHouse не тормозит
Sergey Platonov
но это логичное поведение, внешние соединения на то и внешние, что в них могут и должны быть null и не всегда для дальнейшей логики подходят дефолтные значения
В кликхаусе Null достаточно дорогие, поэтому желательно обходится без них
источник

SP

Sergey Platonov in ClickHouse не тормозит
но это не нулы в нем - это нулы в результате выборки
источник

SP

Sergey Platonov in ClickHouse не тормозит
и нулы нужны
источник

D

Dj in ClickHouse не тормозит
Sergey Platonov
но это логичное поведение, внешние соединения на то и внешние, что в них могут и должны быть null и не всегда для дальнейшей логики подходят дефолтные значения
раньше не было нуллов просто, подставлялось дефолтное
источник

SP

Sergey Platonov in ClickHouse не тормозит
это не подходит для ряда агрегаций и для случаев когда дефолтные значения возможны и используются
источник

D

Dj in ClickHouse не тормозит
Sergey Platonov
это не подходит для ряда агрегаций и для случаев когда дефолтные значения возможны и используются
ну делайте руками колонки в Create view
источник

SP

Sergey Platonov in ClickHouse не тормозит
вы же понимаете, что это костыль?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Никто не мешает и только поощряет написание баг репорта в гитхабе. просто советуем как поправить это сейчас.
источник

D

Dj in ClickHouse не тормозит
Sergey Platonov
вы же понимаете, что это костыль?
т.е. вы предлагаете все типы из правой таблицы при лефтjoin оборачивать в нуллабл по умолчанию? я вот не хочу так например...
источник

D

Dj in ClickHouse не тормозит
Dmitry Titov
Никто не мешает и только поощряет написание баг репорта в гитхабе. просто советуем как поправить это сейчас.
я бы вот оставил текущее поведение
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dj
я бы вот оставил текущее поведение
Ну если человек создает View с сеттингом join_use_nulls почему бы и да?
источник

SP

Sergey Platonov in ClickHouse не тормозит
не из левой, а из правой и не все а одно
источник

SP

Sergey Platonov in ClickHouse не тормозит
Dmitry Titov
Ну если человек создает View с сеттингом join_use_nulls почему бы и да?
именно!
источник